0

I have tried several ways to create follwing format json using java. (Gson , Jackson , ...)

{
  "outbound": {
    "address": [
      "t91",
      "t0992"
    ],
    "send": "t678",
    "outMessage": {
      "message": "Hello World"
    },
    "client": "156",
    "receipt": {
      "URL": "http://example.com/Delivery",
      "callback": "some-to-the-request"
    },
    "senderName": "Inc."
  }
}

Any help?

2
  • 1
    Could you post the code that you tried? Commented Oct 7, 2014 at 10:35
  • I have created model class including those parameters and then used getObjectMapper().writeValueAsString(sendSMSTemplate); to create json that was failed. I think it need to another way. Commented Oct 7, 2014 at 10:39

1 Answer 1

1

Use code below. Create POJO

public class TestPojo {
    private Outbound outbound;

    public Outbound getOutbound() {
        return outbound;
    }

    public void setOutbound(Outbound outbound) {
        this.outbound = outbound;
    }

}

class Outbound {
    private String[] address;
    private String send;
    private OutMessage outMessage;
    private Receipt receipt;
    private String senderName;

    public String[] getAddress() {
        return address;
    }

    public void setAddress(String[] address) {
        this.address = address;
    }

    public String getSend() {
        return send;
    }

    public void setSend(String send) {
        this.send = send;
    }

    public OutMessage getOutMessage() {
        return outMessage;
    }

    public void setOutMessage(OutMessage outMessage) {
        this.outMessage = outMessage;
    }

    public Receipt getReceipt() {
        return receipt;
    }

    public void setReceipt(Receipt receipt) {
        this.receipt = receipt;
    }

    public String getSenderName() {
        return senderName;
    }

    public void setSenderName(String senderName) {
        this.senderName = senderName;
    }

}

class OutMessage {
    private String message;

    public OutMessage(String message) {
        super();
        this.message = message;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

}

class Receipt {
    private String URL;
    private String callback;

    public Receipt(String uRL, String callback) {
        super();
        URL = uRL;
        this.callback = callback;
    }

    public String getURL() {
        return URL;
    }

    public void setURL(String uRL) {
        URL = uRL;
    }

    public String getCallback() {
        return callback;
    }

    public void setCallback(String callback) {
        this.callback = callback;
    }

}

Main Class (JSON to Object)

String json = "{'outbound':{'address':['t91','t0992'],'send':'t678','outMessage':{'message':'Hello World'},'receipt':{'URL':'http://example.com/Delivery','callback':'some-to-the-request'},'senderName':'Inc.'}}";
TestPojo testPojo = new Gson().fromJson(json, TestPojo.class);
System.out.println(testPojo.getOutbound().getSenderName());

Output

Inc.

Main Class (Object to JSON)

TestPojo testPojo = new TestPojo();
Outbound outbound = new Outbound();

outbound.setAddress(new String[]{"t91", "t0992"});
outbound.setOutMessage(new OutMessage("Hello World"));
outbound.setReceipt(new Receipt("http://example.com/Delivery", "some-to-the-request"));
outbound.setSenderName("Inc.");
outbound.setSend("t678");
testPojo.setOutbound(outbound);

System.out.println(new Gson().toJson(testPojo));

Output

{"outbound":{"address":["t91","t0992"],"send":"t678","outMessage":{"message":"Hello World"},"receipt":{"URL":"http://example.com/Delivery","callback":"some-to-the-request"},"senderName":"Inc."}}

Detail

Used GSON library. Used a json given by you.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.