Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将字符串数组转换为JSON对象/数组_Javascript_Json - Fatal编程技术网

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

如何将此JavaScript字符串数组转换为JSON字符串:

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+ ']');