【发布时间】:2012-05-21 15:04:37
【问题描述】:
我在用 java 制作 json 时遇到问题。下面是我必须通过 java 代码创建的 JSON。
{"status":"0",
"Response":{
"abc":[
"def":[
"fgh":[
{
"abc":"abc",
"def":"abc",
"ghi":"abc",
},
{
"abc":"abc",
"def":"abc",
"ghi":"abc",
},
{
"abc":"abc",
"def":"abc",
"ghi":"abc",
}
],
"ghi":[
{
"abc":"abc",
"def":"abc",
"ghi":"abc",
},
{
"abc":"abc",
"def":"abc",
"ghi":"abc",
},
{
"abc":"abc",
"def":"abc",
"ghi":"abc",
}
]
]
]
]
}
}
这里是java代码。
JSONObject result = new JSONObject();
JSONObject abcObject = new JSONObject();
JSONArray resultArray = new JSONArray();
JSONArray fghArray = new JSONArray();
JSONArray defArray = new JSONArray();
JSONArray abcArray = new JSONArray();
abcObject.put("abc");
abcObject.put("def");
abcObject.put("ghi");
fghArray.add(abcObject);
defArray.add(fghArray);
abcArray.add(defArray);
result.put("status", 0);
result.put("Response",abcArray);
return resultJson.toString();
问题:
当我将 json 发送回 jsp 时。输出未显示。
success:function(data) {
alert(data);
var json = $.toJSON(data);
alert(json);
},
alert(data) 正在提醒一个对象,而第二个警报 alert(json) 没有显示任何内容。
【问题讨论】:
-
还有什么问题?请说得更具体些。
-
这不是有效的 JSON。 (您最里面的“对象”将对象文字语法的大括号与数组文字的逗号分隔值语法混合在一起。其他一些属性则相反,即将数组文字语法的方括号与
property:value语法混合对象字面量。) -
Aleksandr 我已经编辑了问题。
-
编辑并没有完全解决无效的 JSON 问题:您已经修复了最里面的对象,但没有修复数组(从可能的 JSON 的第三和第四行开始的数组)。
-
还是错了。根据我之前的评论,您不能在方括号内使用
name:value对,因此从您的可能 JSON 的第三行和第四行开始的数组是无效的。
标签: java javascript json