Here's my desired output
{"node":{"type":"community","field_incentives":{"und":[{"value":"fun"},{"value":"nice"}]},"field_community_email":{"und":[{"value":"[email protected]"}]}}}
Here's my code but it does not seem to generate the output above. If there's a better and simpler way to do this, please let me know. Thanks
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
JsonFactory f = new JsonFactory();
JsonGenerator g = f.createJsonGenerator(outputStream);
g.writeStartObject();
g.writeObjectFieldStart("node");
g.writeStringField("type", "community");
g.writeObjectFieldStart("field_incentives");
g.writeFieldName("und");
g.writeStartArray();
???I don't know how to make [{"value":"fun"},{"value":"nice"}]
g.writeEndArray();
g.writeEndObject();
g.close();
To create a JSON string in JavaScript, you can use the JSON. stringify(value, replacer, space) method. The JSON. stringify() method serializes (converts to string) objects, arrays, or primitive values into a JSON string.
We can create a JSON in the Jackson library using the JsonNodeFactory, it can specify the methods for getting access to Node instances as well as the basic implementation of the methods. We can use the set() and put() methods of ObjectNode class to populate the data.
I simply write line by line to your output json file Reference JsonGenerator. Hope it will help.
import java.io.File;
import java.io.IOException;
import org.codehaus.jackson.JsonEncoding;
import org.codehaus.jackson.JsonFactory;
import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.map.JsonMappingException;
public class CopyOfJacksonStreamExample {
public static void main(String[] args) {
try {
JsonFactory jfactory = new JsonFactory();
/*** write to file ***/
JsonGenerator jGenerator = jfactory.createJsonGenerator(new File(
"c:\\user.json"), JsonEncoding.UTF8);
jGenerator.writeStartObject(); // {
jGenerator.writeObjectFieldStart("node"); // node: {
jGenerator.writeStringField("type", "community"); // "type" : "community"
jGenerator.writeObjectFieldStart("field_incentives"); // "field_incentives" : {
jGenerator.writeFieldName("und"); // "und" :
jGenerator.writeStartArray(); // [
jGenerator.writeStartObject(); // {
jGenerator.writeStringField("value", "fun"); // "value" : "fun"
jGenerator.writeStringField("value", "nice"); // "value" : "nice"
jGenerator.writeEndObject(); // }
jGenerator.writeEndArray(); // ]
jGenerator.writeEndObject(); // } end of field_incentives
jGenerator.writeObjectFieldStart("field_community_email"); // "field_community_email" : {
jGenerator.writeFieldName("und"); // "und" :
jGenerator.writeStartArray(); // [
jGenerator.writeStartObject(); // {
jGenerator.writeStringField("value", "[email protected]"); // "value" : "fun"
jGenerator.writeEndObject(); // }
jGenerator.writeEndArray(); // ]
jGenerator.writeEndObject(); // } end of field_community_email
jGenerator.writeEndObject(); // } end of node
jGenerator.writeEndObject(); // }
jGenerator.close();
} catch (JsonGenerationException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Using POJOs
Main
public class Main {
private Node node;
// getters/setters
Node
public class Node {
private String type;
private FieldIncentives field_incentives;
private FieldIncentives field_community_email;
// getters/setters
FieldIncentives
public class FieldIncentives {
private List<Holder> und;
// getters/setters
Holder
public class Holder {
private String value;
// getters/setters
Usage
final ObjectMapper o = new ObjectMapper();
final Main m = o.readValue(new File("exampleJson.json"), Main.class);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With