Javascript 将字符串数组转换为JSON对象/数组
如何将此JavaScript字符串数组转换为JSON字符串:Javascript 将字符串数组转换为JSON对象/数组,javascript,json,Javascript,Json,如何将此JavaScript字符串数组转换为JSON字符串: var arr = "{'id': '10', 'name': 'test1'},{'id': '11', 'name': 'test2'}"; 这样就可以访问像arr[0].id、arr[0].name等成员了?如果使用jQuery,只需使用: jQuery.parseJSON( jsonString ); 这正是你想要的 你的问题有点让人困惑。 序列化字符串形式的Javascript对象是JSON。 您的字符串看起来像是JSO
var arr = "{'id': '10', 'name': 'test1'},{'id': '11', 'name': 'test2'}";
这样就可以访问像arr[0].id、arr[0].name等成员了?如果使用jQuery,只需使用:
jQuery.parseJSON( jsonString );
这正是你想要的
你的问题有点让人困惑。 序列化字符串形式的Javascript对象是JSON。 您的字符串看起来像是JSON。如果它是JSON,您可以将它解析为一个对象。 如果您有一个Javascript对象,那么可以将其JSON.string化为字符串。
您可能需要json2.js库,具体取决于您的浏览器。您所拥有的不是非常有效的JSON。它需要用[]包围,并使用而不是“: 要解析它,可以使用
var parsedArray = JSON.parse(arr);
然后使用
parsedArray[0].id
请注意,这是假设JSON以字符串形式存储,并且您从该格式的某个地方获取它。如果您实际上只是试图创建一个数组并访问其元素,则应使用as@bfavareto应答。如果您确实是在代码中直接定义该字符串,则只需使用数组文本即可:
var arr = [
{'id': 10, 'name': 'test1'},
{'id': 11, 'name': 'test2'}
];
console.log(arr[0].id); // 10
如果不是这样,请在你的问题中编辑更多信息,比如字符串从哪里来,它到底是什么样子。你可以使用下面的代码
var jsonObj = $.parseJSON('[' + arr+ ']');
其中,作为jsonObj,您可以将其用作JSON对象,JSON是一种数据交换格式,主要用于系统之间的数据传输。尽管如此,我对你的问题的解释如下: 创建一个对象数组 访问这些对象的属性
如果是这种情况,那么@bfavaretto是正确的,因为您真正想要的是一个数组文本,其元素是对象。然后,您可以通过索引访问每个单独的对象,并通过指定属性名称访问该对象的任何属性。why-1?请解释一下javascript标签上说,除非还包括框架/库的标签,否则应该是纯javascript的答案。然而,b答案中没有jQuery,你提到它是在转移注意力,然而c你不能用JSON解析该字符串。parse因为它不是有效的JSON,但你编辑了你的答案,因此它确实包含了jQuery,所以a现在适用。@Quentin我认为这个问题更重要,正如他所说的,他试图解析一个JSON数组,但没有给出一个对回答问题的人来说是误导和混淆的数组question@QuentinJavaScript字符串数组不是一个真实的东西,也许答案真的应该是教程而不是这个简单的数组solution@aaronman-这可能不是一个技术术语,但因为他提供了示例输入,所以很清楚这意味着什么未定义,JSON要求字符串用字符分隔,而不是“字符”。谢谢您提供的信息。但我想那会管用的很难说你在问什么。您的示例字符串不是有效的JSON。
var jsonObj = $.parseJSON('[' + arr+ ']');