Как разобрать объект JSON в Java: - PullRequest
0 голосов
/ 21 октября 2010

Я пытаюсь разобрать объект JSON в Java.Я публикую объект значения ключа json, используя метод dojo.xhrPost(), как показано ниже:

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

Теперь я читаю данные этого сообщения из контекста запроса:

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

при печати этогов цикле:

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());

}

это возвращает меня:

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

как мудрый, но я должен получить значения как

INST1 : {"0001" : "aa"}, INST2 : {"0002" : "bb"}, INST3 : {"0003" : "cc"}}, любое руководство будет высоко оценено,

Обновление

Когда я пытаюсь получить значение одного параметра, используя

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

if (X != null){
   System.out.println(X.length);
   System.out.println(X[0]);
   System.out.println(X[0].length);
}

, тогда получаю:

1
[object Object]
[object Object]

Q Теперь, как я могу получить фактические значения объекта, такие как INST1 : {"0001" : "aa"} вместо [объект Object]?

Ответы [ 2 ]

2 голосов
/ 21 октября 2010

вы можете использовать этот модифицированный класс JSONObject , передать необработанный код JSON через конструктор или создать (новый объект и назначить содержимое JSON позже ..) и использовать встроенный get методы. посмотреть полный javadoc здесь .

1 голос
/ 21 октября 2010

как указано в документации dojo здесь объект, который вы настроили, будет читаться как name1 = value1. Так что в вашем случае переменные передаются как INST1 = 0001, INST1 = aa.

Вы можете попытаться сделать синтаксис 'content' в этих строках - INST1 : '{"0001" : "aa"}' или INST1 : "{\"0001\" : \"aa\"}" так, чтобы INST1 имел 1 однозначное значение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...