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