【问题标题】:Parse JSON string as an array using JavaScript使用 JavaScript 将 JSON 字符串解析为数组
【发布时间】:2016-04-03 14:31:00
【问题描述】:

对你们大多数人来说可能看起来很傻,但我需要使用 JavaScript 将 JSON 字符串解析为数组。我对 JSON 和 JavaScript 完全陌生,并且从前两天开始尝试理解。

我需要将此 JSON 作为数组读取并使用 Javascript 对其进行解析。在此示例中,返回的 JSON 是单个元素,但在特定情况下,它会返回多个结果(数组)

[
  {
    "CauseAndEffect_Status": "InProgress",
    "CurrentPhase": "Planning",
    "cityCountry": "Walker French Southern Territories",
    "location": "bangalore",
    "siteAddress": "Sharon Street Canda Avenue",
    "siteName": "DAISU",
    "status": "95%",
    "zipCode": 12940
  }
]

虽然上面的 JSON 是一个数组对象,但是当我尝试解析这个 JSON 时出现以下错误

SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data of Jquery-2.1.4.min.js

【问题讨论】:

  • 你想要什么样的数组完全符合你的预期?
  • 您粘贴的代码已经是 JavaScript 数组文字
  • @PaulS。实际上那是一个 object !
  • 我知道它是一个对象但我确实收到了这个控制台消息。 JSON.parse:JSON 数据的第 1 行第 2 列出现意外字符
  • @Shafizadeh Array instanceof Object; // true 是的,但它以[ 开始并以] 结束,所以我们通常称这些为数组。 @this-Me 这些类型的错误可能来自无效的不可见字符,尝试复制到另一个编辑器并查看是否有 ? 或其他符号出现在某处(例如第 1 行的第二个字符)

标签: javascript jquery arrays json


【解决方案1】:

如果是来自服务器的字符串,可以使用

var myArray= JSON.parse(myJsonString);

你将拥有一个 myArray 对象数组,你可以用一个简单的 for 循环来循环

【讨论】:

  • 如果我尝试解析我得到 SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data
【解决方案2】:

在 Javascript 中解析 Json 的代码。请参阅下面的 Js Fiddle

var str ='{"CauseAndEffect_Status": "InProgress","CurrentPhase": "Planning",    "cityCountry": "Walker French Southern Territories","location": "bangalore","siteAddress": "Sharon Street Canda Avenue","siteName": "DAISU","status": "95%","zipCode": 12940}';

var json = JSON.parse(str);
console.log(json);

 $.each( json, function( ky, val ) {
        console.log('ky => '+ky);//will output: name, firstname, societe
        console.log('val => '+val);//will output: name1, fname1, soc1
    }); 

检查浏览器控制台以查看结果

【讨论】:

  • 我已经更新了答案,现在它完全解析了你给出的字符串
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-23
相关资源
最近更新 更多