`
lmh2072005
  • 浏览: 114208 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JSON对象和字符串

    博客分类:
  • js
阅读更多

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

分享到:
评论

相关推荐

    js中的json对象和字符串之间的转化

    `JSON.stringify()`和`JSON.parse()`是两个关键的函数,它们分别用于将JavaScript对象转换成JSON字符串和将JSON字符串还原为JavaScript对象。在没有内置JSON支持的环境中,如老版本的浏览器,可以使用像`json2.js`...

    json对象与字符串互转

    在JavaScript中,JSON对象和字符串之间的转换是非常常见的操作。以下将详细讲解这两种类型的转换方法: 1. **JSON对象转字符串(JSON.stringify())**: JavaScript提供了`JSON.stringify()`方法来将一个...

    js中json对象和字符串的理解及相互转化操作实现方法.docx

    下面是一个具体的示例,展示了如何处理JSON字符串和JSON对象: ```javascript // 定义一个JSON字符串 var str = "{'strv':[{'a':'a11'},{'a':'b222'}]}"; // 将JSON字符串转换为JSON对象 var jsonObject = eval('...

    Json对象与json字符串互相转换处理工具

    Json对象与json字符串互相转换处理工具

    json2.js 字符串转转json对象工具

    总的来说,json2.js是解决JSON处理兼容性问题的一个工具,它提供了一种安全且标准化的方式来在JavaScript中进行JSON字符串与对象之间的转换,尤其对于那些不支持原生JSON操作的老版本浏览器而言。

    asp字符串转json对象类

    本知识点主要关注如何将ASP中的字符串转换为JSON对象,特别地,这个过程是通过原生的VBScript(Visual Basic Script)实现的,而不是依赖于第三方库。 首先,我们需要理解VBScript中的JSON解析概念。由于ASP.NET...

    由php对象生成json字符串 把php对象变成json字符串.zip

    在PHP中,将PHP对象转换成JSON(JavaScript Object Notation)字符串是一项常见的任务,尤其是在进行Web开发时,因为JSON是一种轻量级的数据交换格式,它允许服务器向客户端发送数据,并在客户端进行解析。...

    java对象转换为json字符串或字符串数组

    总结,Java对象转换为JSON字符串或字符串数组是通过引入JSON库,如`json-lib`,然后利用其提供的序列化和反序列化方法实现的。了解并熟练掌握这些方法对于进行Java和JSON之间的数据交换至关重要。在实际项目中,根据...

    模仿json,根据对象生成json字符串,根据字符串生成对象

    一个JSON对象以大括号`{}`包围,其内部由键值对组成,键用双引号`""`包裹,值可以是字符串、数字、布尔值、数组、null或另一个JSON对象。数组则用方括号`[]`表示,元素之间用逗号分隔。 生成JSON字符串通常涉及两个...

    Json将对象转换成字符串

    1. **JSON对象和字符串**:JSON对象是键值对的集合,键必须是字符串,而值可以是多种数据类型,包括字符串、数字、数组、布尔值、null,甚至嵌套的JSON对象。将JSON对象转换为字符串,意味着将这些键值对以特定的...

    js页面字符串转json对象

    js页面字符串转json对象

    C++如何将json转成字符串,如何将字符串转成json

    通过`dump()`和`parse()`函数,我们可以轻松地在JSON对象和字符串之间转换。同时,自定义类型的序列化和反序列化功能使得处理复杂数据结构变得简单。在实际项目中,确保正确安装并链接该库到你的C++项目中,以便充分...

    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#对象相互转换,类库+使用案例,注释详细

    C# json格式转换,Json格式字符串与C#对象相互转换,类库和测试demo 写了一个json与C#对象相互装换的类库,直接调用就行,有测试案例,代码注释非常详细 部分方法: /// 将Json字符串解析为C#中的对象 /// Json格式...

    谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)

    在JavaScript中,`JSON.stringify()`和`JSON.parse()`是两个关键的方法,它们用于在JSON对象和字符串之间进行转换。 1. `JSON.stringify()` `JSON.stringify()`方法用于将JavaScript对象或值转换为JSON字符串。它...

    经典ASP读取JSON字符串/生成JSON对象,数组对象等。

    这篇关于“经典ASP读取JSON字符串/生成JSON对象,数组对象等”的知识将详细介绍如何在ASP环境中处理JSON数据。 1. **JSON对象与数组的结构**: JSON对象以大括号{}表示,键值对之间用逗号分隔。键必须是字符串,用...

    net.sf.json.JSONObject实现Object对象与Json字符串的互转

    例如,可以使用`getString()`, `getInt()`, `put()`等方法来操作JSON对象: ```java String name = jsonObject.getString("name"); jsonObject.put("age", 35); ``` 在处理复杂对象时,如包含嵌套的对象或数组,`...

    javascript处理json字符串和json对象的类(含示例)

    下面我们将详细讨论如何在JavaScript中处理JSON字符串和JSON对象。 一、JSON字符串转换为JSON对象 在JavaScript中,可以使用`JSON.parse()`方法将一个JSON格式的字符串转换为JavaScript对象。这个方法接收一个JSON...

    使用json-lib将java对象转换成json字符串

    - JSON对象可以映射为Java对象,如HashMap、ArrayList等。JSON字符串到Java对象的转换通常通过反序列化实现,而Java对象到JSON字符串的转换则称为序列化。 - json-lib库提供了一套API,使得这种转换变得简单。例如...

Global site tag (gtag.js) - Google Analytics