JS 解析JSON

Java代码   收藏代码
  1. <SCRIPT LANGUAGE="JavaScript">  
  2.   
  3.   
  4.    var t="{'firstName': 'cyra', 'lastName': 'richardson', 'address': { 'streetAddress': '1 Microsoft way', 'city': 'Redmond', 'state': 'WA', 'postalCode': 98052 },'phoneNumbers': [ '425-777-7777','206-777-7777' ] }";   
  5.     var jsonobj=eval('('+t+')');  
  6.     alert(jsonobj.firstName);   
  7.     alert(jsonobj.lastName);  
  8.   
  9.   
  10. var t2="[{name:'zhangsan',age:'24'},{name:'lisi',age:'30'},{name:'wangwu',age:'16'},{name:'tianqi',age:'7'}] ";  
  11. var myobj=eval(t2);  
  12. for(var i=0;i<myobj.length;i++){  
  13.    alert(myobj[i].name);  
  14.    alert(myobj[i].age);  
  15. }  
  16.   
  17. var t3="[['<a href=# onclick=openLink(14113295100,社旗县国税局桥头税务所,14113295100,d6d223892dc94f5bb501d4408a68333d,swjg_dm);>14113295100</a>','社旗县国税局桥头税务所','社旗县城郊乡长江路西段']]";  
  18. //通过eval() 函数可以将JSON字符串转化为对象  
  19. var obj = eval(t3);  
  20. for(var i=0;i<obj.length;i++){  
  21.    for(var j=0;j<obj[i].length;j++){  
  22. alert(obj[i][j]);  
  23.    }  
  24.   
  25. }  
  26.   
  27. /* 
  28. //stringifier 函数的作用跟 parse 相反, 用来将一个js对象转换为 JSON 文本。 
  29. var jsonText = JSON.stringify(obj);  
  30. alert(jsonText); 
  31.  
  32. //如果基于安全的考虑的话,最好是使用一个 JSON 解析器。 一个 JSON 解析器将只接受 JSON 文本。所以是更安全的。 
  33. var myObject = JSON.parse(myJSONtext, filter);    
  34. //可选的 filter 参数将遍历每一个value key 值对, 并进行相关的处理。如: 
  35. //如 
  36. myData = JSON.parse(text, function (key, value) {        
  37.  
  38. return key.indexOf('date') >= 0 ? new Date(value) : value;    });  
  39.  
  40. //stringifier 函数的作用跟 parse 相反, 用来将一个js对象转换为 JSON 文本。 
  41. var myJSONText = JSON.stringifier(myObject);  
  42. */  
  43. </SCRIPT>  
解析 JSON 数据是前端开发中常见的任务。在 JavaScript 中,可以使用内置的 `JSON.parse()` 方法将 JSON 字符串转换为 JavaScript 对象。 ### 示例代码 以下是一个简单的示例,演示如何使用 `JSON.parse()` 解析 JSON 字符串: ```javascript // JSON 字符串 const jsonString = '{"name":"Alice","age":25,"isStudent":false,"hobbies":["reading","coding"],"address":{"city":"New York","zip":"10001"}}'; // 使用 JSON.parse() 解析 JSON 字符串 const parsedData = JSON.parse(jsonString); // 输出解析后的 JavaScript 对象 console.log(parsedData); // 访问对象中的数据 console.log(parsedData.name); // 输出: Alice console.log(parsedData.age); // 输出: 25 console.log(parsedData.hobbies[0]); // 输出: reading console.log(parsedData.address.city); // 输出: New York ``` ### 注意事项 - `JSON.parse()` 仅接受格式正确的 JSON 字符串。如果 JSON 数据格式错误,会抛出异常。 - 如果 JSON 字符串中包含不支持的值(如 `undefined` 或函数),解析会失败。因此,确保 JSON 数据中不包含这些值 [^3]。 - 在实际开发中,可以使用 `try...catch` 语句来捕获解析异常,以避免程序崩溃: ```javascript try { const parsedData = JSON.parse(jsonString); console.log(parsedData); } catch (error) { console.error("JSON 解析失败:", error.message); } ``` ### 实际应用 JSON 数据通常从服务器获取,例如通过 `fetch` API 获取远程数据并解析: ```javascript fetch('https://api.example.com/data') .then(response => response.json()) // 自动解析 JSON 数据 .then(data => console.log(data)) // 处理解析后的数据 .catch(error => console.error('请求失败:', error)); ``` ### JSON 与 JavaScript 对象的区别 尽管 JSON 的语法与 JavaScript 对象非常相似,但两者有以下关键区别: - JSON 的键名必须使用双引号括起来,而 JavaScript 对象的键名可以是未加引号的标识符或字符串。 - JSON 支持的数据类型包括字符串、数字、布尔值、数组、对象和 `null`,但不支持函数和 `undefined`。 - JSON 主要用于数据传输和存储,而 JavaScript 对象用于程序内部逻辑和动态操作 [^2]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值