我有一個json數組,我將它放在地圖中。地圖是省略一個大括號
for(int i = 0; i < jsonarr.length(); i++){
try {
JSONObject jsonobj = jsonarr.getJSONObject(i);
Iterator<Object> keysItr = jsonobj.keys();
while(keysItr.hasNext()) {
Object key = keysItr.next();
Object value = jsonobj.get((String) key);
map.put((String) key, value);
}
System.out.println(map);
但是,當我顯示地圖,它給了我一個字符串,其中有一個大括號丟失。
輸出
{
subtype=text,
maxlength=22,
values=[
{
"label":"Time",
"value":"two",
"selected":true
},{
"label":"Milk",
"value":"hot"
},{
"label":"sky",
"value":"blue"
}
],
(HERE)
name=text-1496816623336,
description=sa,
className=form-control,
label=Text Field,
type=text,
required=true
}
我用傑克遜和GSON還,但在這種情況下,他們甚至沒有把整個JSON到map.It可能是一個愚蠢的問題,但感謝。
編輯:
這裏是JSON用於創建Map
[
{
"type":"select",
"label":"Select",
"className":"form-control",
"name":"select-1496823185891",
"values":[
{
"label":"Option 1",
"value":"option-1",
"selected":true
},{
"label":"Option 2",
"value":"option-2"
},{
"label":"Option 3",
"value":"option-3"
}
]
},{
"type":"text",
"label":"Text Field",
"className":"form-control",
"name":"text-1496823186970",
"subtype":"text"
}
]
在一個普通的java.util.HashMap中調用'toString()'不會*打印有效的JSON。您需要通過使用您使用的任何JSON庫將它正確地呈現爲JSON,而不是通過簡單地在地圖上調用'toString()'。 – Jesper
你可以發佈用於填充地圖的JSON嗎?他們會匹配,而不是語法,但內容。 PS:在字符串中添加一些換行符會給你一個更好的格式視圖,沒有什麼是錯誤的 – AxelH
@Jesper我已經使用傑克遜,但它給了我一半不完整的json。其實我想通過這張地圖彈性索引。 –