将JSON字符串转换为用于迭代的javascript对象

Convert JSON string to JavaScript Object for iterating

本问题已经有最佳答案,请猛点这里访问。

在搜索,但我不能找到任何解决方案。在从服务器得到这个字符串:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 [
  {
    'id': 0,
    'name': 'Adventure Works',
    'uniqueName': '[AdventureWorksDW2012Multidimensional-EE].[Adventure Works]'
  },
  {
    'id': 1,
    'name': 'Channel Sales',
    'uniqueName': '[AdventureWorksDW2012Multidimensional-EE].[Channel Sales]'
  },
  {
    'id': 2,
    'name': 'Direct Sales',
    'uniqueName': '[AdventureWorksDW2012Multidimensional-EE].[Direct Sales]'
  },
  {
    'id': 3,
    'name': 'Finance',
    'uniqueName': '[AdventureWorksDW2012Multidimensional-EE].[Finance]'
  },
  {
    'id': 4,
    'name': 'Mined Customers',
    'uniqueName': '[AdventureWorksDW2012Multidimensional-EE].[Mined Customers]'
  },
  {
    'id': 5,
    'name': 'Sales Summary',
    'uniqueName': '[AdventureWorksDW2012Multidimensional-EE].[Sales Summary]'
  },
  {
    'id': 6,
    'name': 'Sales Targets',
    'uniqueName': '[AdventureWorksDW2012Multidimensional-EE].[Sales Targets]'
  }
]

但它是一个字符串,我需要它作为一个JavaScript对象。如果last"remove和第一手的每一个城市,从字符串的是好的,但如何convert这两个JavaScript对象的字符串?

更新

如果使用jQuery这样的解析:

1
var data = $.parseJSON( response.d );

在得到这个错误:

1
Uncaught TypeError: Cannot use 'in' operator to search for '727' in {'id':0,'name':'Adventure Works','uniqueName':'[AdventureWorksDW2012Multidimensional-EE].[Adventure Works]'},{'id':1,'name':'Channel Sales','uniqueName':'[AdventureWorksDW2012Multi...<omitted>...'}

*编辑* * *

这是jsfiddle链接。


可以使用JSON.parse()方法将JSON字符串转换为javascript对象。


使用JSON.parse("[{...}]");将其转换为javascript对象。


你可以使用:

1
JSON.parse("some json stringified object")

要从JSON对象创建字符串,请使用:

1
JSON.stringify(OBJECT);