javascript – How to parse JSON object in Java: – Education Career Blog

I am trying to parse to JSON object in java. I am posting json key value object using dojo.xhrPost() method as shown below:

dojo.xhrPost({
url: /esturl/,
handleAs : "text",
content : {INST1 : {"0001" : "aa"},
            INST2 : {"0002" : "bb"},
            INST3 : {"0003" : "cc"}},
load : load(data),
error : error
});

Now I am reading this post data from request context:

Map<String, String> paramMap = requestContext.getParameterMap();

when I am printing this in loop:

Iterator it = paramMap.entrySet().iterator();
while(it.hasnext()){
 Map.entry pairs = (Map.Entry) it.next();
 System.out.println(pairs.getKey());
 System.out.println(pairs.getkValue());

}

this returns me :

INST1
Ljava.lang.String;@1b4cef
INST2
Ljava.lang.String;@5801d

like wise, but I should be getting values like

INST1 : {"0001" : "aa"}, INST2 : {"0002" : "bb"}, INST3 : {"0003" : "cc"}}, any guidance would be highly appreciated.

Update

When I try to get value of one parameter using

String X = requestContext.getParameters{"INST1"};

if (X != null){
   System.out.println(X.length);
   System.out.println(X0);
   System.out.println(X0.length);
}

then am getting :

1
object Object
object Object

Q Now how can I get actual values of Object like INST1 : {"0001" : "aa"} instead of object Object ?

,

you can use this modified JSONObject class, pass the raw JSON code through the constructor or create (new object and assign JSON content later..) and use built-in get methods. view full javadoc here.

,

as given in the dojo documentation here the object which you set up will be read as name1=value1. So may be in your case the variables are being passed like INST1=0001,INST1=aa.

You can try to make the syntax of ‘content’ on these lines – INST1 : '{"0001" : "aa"}' or
INST1 : "{\"0001\" : \"aa\"}" so that INST1 has 1 unambiguous value

Leave a Comment