如何将此 JavaScript 字符串数组转换为 JSON 字符串:
var arr = "{'id': '10', 'name': 'test1'},{'id': '11', 'name': 'test2'}";
这样就可以访问像arr[0].id
,arr[0].name
等这样的成员?
如何将此 JavaScript 字符串数组转换为 JSON 字符串:
var arr = "{'id': '10', 'name': 'test1'},{'id': '11', 'name': 'test2'}";
这样就可以访问像arr[0].id
,arr[0].name
等这样的成员?
你所拥有的不是很有效JSON
。它需要被包围[]
并使用"
,而不是'
:
var arr = '[{"id": "10", "name": "test1"},{"id": "11", "name": "test2"}]';
要解析它,您可以使用
var parsedArray = JSON.parse(arr);
然后使用
parsedArray[0].id
请注意,这是假设JSON
存储为以字符串开头的字符串,并且您是从该格式的某个位置获取它。如果您实际上只是想创建一个数组并访问它的元素,您应该使用数组文字作为@bfavaretto 的回答。
如果您真的在代码中直接定义该字符串,只需使用数组文字代替:
var arr = [
{'id': 10, 'name': 'test1'},
{'id': 11, 'name': 'test2'}
];
console.log(arr[0].id); // 10
如果不是这样,请在您的问题中编辑更多信息,例如字符串来自哪里,以及它到底是什么样子。
你的问题有点令人困惑。序列化、字符串形式的 Javascript 对象是 JSON。您的字符串看起来像是 JSON。如果是 JSON,您可以 JSON.parse() 将其转换为一个对象。如果你有一个 Javascript 对象,你可以 JSON.stringify() 把它变成一个字符串。您可能需要 json2.js 库,具体取决于您的浏览器。
如果您使用的是 jQuery,请使用:
jQuery.parseJSON( jsonString );
这正是您正在寻找的
JSON 是一种数据交换格式,主要用于系统之间的数据传输。尽管如此,我将您的问题解释如下:
如果是这种情况,那么@bfavaretto 是正确的,因为您真正想要的是一个数组文字,其元素是对象。然后,您可以按索引访问每个单独的对象,并通过指定属性名称来访问该对象的任何属性。
你可以使用下面的代码
var jsonObj = $.parseJSON('[' + arr+ ']');
作为 jsonObj,您可以将其用作 JSON 对象