JavaScript
JSON.parse 函数 (JavaScript)

 

将 JavaScript 对象表示法 (JSON) 字符串转换为对象。

JSON.parse(text [, reviver])
返回值

一个对象或数组。

异常

若要更正此错误,请执行下列操作之一:

  • BNF syntax notation(BNF 语法表示法)。

  • JSON.stringify。

示例

 将 JSON 字符串转换成对象。

  1. var jsontext = '{"firstname":"Jesper","surname":"Aaberg","phone":["555-0100","555-0120"]}';
  2. var contact = JSON.parse(jsontext);
  3. document.write(contact.surname + ", " + contact.firstname);
  4.  
  5. // Output: Aaberg, Jesper

 将该字符串还原成数组。

  1. var arr = ["a""b""c"];
  2. var str = JSON.stringify(arr);
  3. document.write(str);
  4. document.write ("<br/>");
  5.  
  6. var newArr = JSON.parse(str);
  7.  
  8. while (newArr.length > 0{
  9.     document.write(newArr.pop() + "<br/>");
  10. }
  11.  
  12. // Output:
  13. var arr = ["a""b""c"];
  14. var str = JSON.stringify(arr);
  15. document.write(str);
  16. document.write ("<br/>");
  17.  
  18. var newArr = JSON.parse(str);
  19.  
  20. while (newArr.length > 0{
  21.     document.write(newArr.pop() + "<br/>");
  22. }
  23.  
  24. // Output:
  25. ["a","b","c"]
  26. c
  27. b
  28. a

 对象。

Date对象。

  1. var jsontext = '{ "hiredate": "2008-01-01T12:00:00Z", "birthdate": "2008-12-25T12:00:00Z" }';
  2. var dates = JSON.parse(jsontext, dateReviver);
  3. document.write(dates.birthdate.toUTCString());
  4.  
  5. function dateReviver(key, value) {
  6.     var a;
  7.     if (typeof value === 'string'{
  8.         a = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/.exec(value);
  9.         if (a) {
  10.             return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4],
  11.                             +a[5], +a[6]));
  12.         }
  13.     }
  14.     return value;
  15. };
  16.  
  17. // Output:
  18. // Thu, 25 Dec 2008 12:00:00 UTC
要求

 

在以下文档模式中受到支持:Internet Explorer 8 标准、Internet Explorer 9 标准、Internet Explorer 10 标准、Internet Explorer 11 标准。Windows 应用商店 应用程序中也支持此项。请参阅 版本信息

在以下文档模式中不受支持:Quirks、Internet Explorer 6 标准模式、Internet Explorer 7 标准模式。

请参见

参考

 
 
 
 

JSON.parse 解析字符串出错的解决方法发布

程序中很多数据是动态拼接而成的json数据,最近在用json的时候老是现JSON.parse错误

经查,原来是json数据的格式要求非常严格,属性名称必须是用双引号“”括起来。

复制代码 代码如下: var a=JSON.parse('{"a":"aaaaa"}');//正确 var a=JSON.parse("{'a':'aaaaa'}");//错误

详细出处参考:http://www.jb51.net/article/24175.htm

相关文章:

  • 2021-08-22
  • 2022-02-08
  • 2021-11-22
  • 2021-09-29
猜你喜欢
  • 2022-01-05
  • 2021-10-25
  • 2021-12-22
  • 2021-11-18
  • 2021-07-05
  • 2022-12-23
  • 2021-04-20
相关资源
相似解决方案