簡體   English   中英

如何在Java中解析JSON對象:

[英]How to parse JSON object in Java:

我正在嘗試解析為Java中的JSON對象。 我正在使用dojo.xhrPost()方法發布json鍵值對象,如下所示:

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]

問:現在如何獲取INST1 : {"0001" : "aa"}類的Object的實際值,而不是[object Object]?

您可以使用此修改后的JSONObject類 ,通過構造函數傳遞原始JSON代碼,也可以創建(創建新對象並稍后分配JSON內容。)並使用內置的get方法。 在此處查看完整的javadoc。

作為道場文檔中給出這里你設置對象將被讀作名1 =值。 因此,在您的情況下,可能像INST1 = 0001,INST1 = aa這樣傳遞變量。

您可以嘗試在以下INST1 : '{"0001" : "aa"}'行中使用'content'的語法INST1 : '{"0001" : "aa"}'INST1 : "{\\"0001\\" : \\"aa\\"}"以便INST1具有1個明確的值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM