JSON和字符串互转在ajax交互中经常用到,以前用过eval("("+jsonText+")") 把接收到的json格式字符串转换为JSON对象。但是用eval()函数存在安全漏洞,因为eval()函数可以解释任何的javascript代码。比如下面的例子:
假设返回的JSON字符串为“[1,2,(function(){document.forms[0].action='http://www.xxx.com/x.aspx'})(),3]”通过eval()函数后就会被执行,页面的第一个表单的action会被恶意修改。
使用JSON对象的stringify()方法和parse()方法可以很好的将两者进行转换 ,不过IE6/7不支持这两个方法。可以引用一个json.js的库解决IE6/7的问题。
其中parse()接收两个参数:json文本和一个可选的过滤函数。过滤函数可以删除或修改对应的key值,针对某个键返回undefined 就会从结果对象中移除该键。
eg:
var jsonText ="{\"name\":\"jone\",\"age\":25,"addr":"xxx"}";
var jsonObj = JSON.parse(jsonText,function(key,value){
switch(key){
case "name" : return value+"s";
case "age" : return value + 1;
case "addr" : return undefined;
default : return value;
}
})
stringify()返回未经缩进的JSON字符串。
eg:
JSON.stringify(jsonObj );
json.js下载地址:https://github.com/douglascrockford/JSON-js
分享到:
相关推荐
`JSON.stringify()`和`JSON.parse()`是两个关键的函数,它们分别用于将JavaScript对象转换成JSON字符串和将JSON字符串还原为JavaScript对象。在没有内置JSON支持的环境中,如老版本的浏览器,可以使用像`json2.js`...
在JavaScript中,JSON对象和字符串之间的转换是非常常见的操作。以下将详细讲解这两种类型的转换方法: 1. **JSON对象转字符串(JSON.stringify())**: JavaScript提供了`JSON.stringify()`方法来将一个...
下面是一个具体的示例,展示了如何处理JSON字符串和JSON对象: ```javascript // 定义一个JSON字符串 var str = "{'strv':[{'a':'a11'},{'a':'b222'}]}"; // 将JSON字符串转换为JSON对象 var jsonObject = eval('...
Json对象与json字符串互相转换处理工具
总的来说,json2.js是解决JSON处理兼容性问题的一个工具,它提供了一种安全且标准化的方式来在JavaScript中进行JSON字符串与对象之间的转换,尤其对于那些不支持原生JSON操作的老版本浏览器而言。
本知识点主要关注如何将ASP中的字符串转换为JSON对象,特别地,这个过程是通过原生的VBScript(Visual Basic Script)实现的,而不是依赖于第三方库。 首先,我们需要理解VBScript中的JSON解析概念。由于ASP.NET...
在PHP中,将PHP对象转换成JSON(JavaScript Object Notation)字符串是一项常见的任务,尤其是在进行Web开发时,因为JSON是一种轻量级的数据交换格式,它允许服务器向客户端发送数据,并在客户端进行解析。...
总结,Java对象转换为JSON字符串或字符串数组是通过引入JSON库,如`json-lib`,然后利用其提供的序列化和反序列化方法实现的。了解并熟练掌握这些方法对于进行Java和JSON之间的数据交换至关重要。在实际项目中,根据...
一个JSON对象以大括号`{}`包围,其内部由键值对组成,键用双引号`""`包裹,值可以是字符串、数字、布尔值、数组、null或另一个JSON对象。数组则用方括号`[]`表示,元素之间用逗号分隔。 生成JSON字符串通常涉及两个...
1. **JSON对象和字符串**:JSON对象是键值对的集合,键必须是字符串,而值可以是多种数据类型,包括字符串、数字、数组、布尔值、null,甚至嵌套的JSON对象。将JSON对象转换为字符串,意味着将这些键值对以特定的...
js页面字符串转json对象
通过`dump()`和`parse()`函数,我们可以轻松地在JSON对象和字符串之间转换。同时,自定义类型的序列化和反序列化功能使得处理复杂数据结构变得简单。在实际项目中,确保正确安装并链接该库到你的C++项目中,以便充分...
3. 解析JSON字符串:使用nlohmann/json库,可以将JSON字符串解析为JSON对象。例如: ```cpp #include <nlohmann/json.hpp> using json = nlohmann::json; std::string json_str = R"({"name": "John", "age": 30})...
C# json格式转换,Json格式字符串与C#对象相互转换,类库和测试demo 写了一个json与C#对象相互装换的类库,直接调用就行,有测试案例,代码注释非常详细 部分方法: /// 将Json字符串解析为C#中的对象 /// Json格式...
在JavaScript中,`JSON.stringify()`和`JSON.parse()`是两个关键的方法,它们用于在JSON对象和字符串之间进行转换。 1. `JSON.stringify()` `JSON.stringify()`方法用于将JavaScript对象或值转换为JSON字符串。它...
这篇关于“经典ASP读取JSON字符串/生成JSON对象,数组对象等”的知识将详细介绍如何在ASP环境中处理JSON数据。 1. **JSON对象与数组的结构**: JSON对象以大括号{}表示,键值对之间用逗号分隔。键必须是字符串,用...
例如,可以使用`getString()`, `getInt()`, `put()`等方法来操作JSON对象: ```java String name = jsonObject.getString("name"); jsonObject.put("age", 35); ``` 在处理复杂对象时,如包含嵌套的对象或数组,`...
下面我们将详细讨论如何在JavaScript中处理JSON字符串和JSON对象。 一、JSON字符串转换为JSON对象 在JavaScript中,可以使用`JSON.parse()`方法将一个JSON格式的字符串转换为JavaScript对象。这个方法接收一个JSON...
- JSON对象可以映射为Java对象,如HashMap、ArrayList等。JSON字符串到Java对象的转换通常通过反序列化实现,而Java对象到JSON字符串的转换则称为序列化。 - json-lib库提供了一套API,使得这种转换变得简单。例如...