json字符串是否可以只包含方括号?对于前者:
[["state","accepted"],["r_by_uid",1]]
我从解析该字符串中得到意外的字符错误...(很长一段时间以来,我在这个脚本上工作,我认为它之前有效)。
解析json字符串将始终从字符串中创建一个对象?或者是否可以将字符串解析成数组?
基本上我只想将字符串解析为数组,而不是对象 我用Google搜索了一些示例,但无法找到任何仅使用方括号的示例。
这里要求的是包含json字符串的标记:
<button data-fproc='[["state","accepted"],["r_by_uid","1"]]' class="request_state_button">
答案 0 :(得分:3)
不一定非常需要使用括号括号。
[["state","accepted"],["r_by_uid",1]]
是有效的JSON。
JSON文本可以是对象或数组。
请参阅http://json.org/中的https://www.ietf.org/rfc/rfc4627.txt和 JSON Grammar 部分
验证您的JSON在Javascript中,JSON.parse()
返回一个数组:
JSON.parse('[["state","accepted"],["r_by_uid",1]]')
// result [["state", "accepted"], ["r_by_uid", 1]]
请注意,Arrays也是Javascript中的对象。
它也适用于jQuery.parseJSON()
:
jQuery.parseJSON('[["state","accepted"],["r_by_uid",1]]')
// result [["state", "accepted"], ["r_by_uid", 1]]
答案 1 :(得分:1)
这可能会解释你的问题:
var aAsArray = [["state","accepted"],["r_by_uid",1]];
var aAsString = '[["state","accepted"],["r_by_uid",1]]';
JSON.parse(aAsArray); //Uncaught SyntaxError: Unexpected token ....
JSON.parse(aAsString);