`
zg973595977
  • 浏览: 11968 次
社区版块
存档分类
最新评论

js对json的操作总结

    博客分类:
  • J2EE
阅读更多

对于前端完全是菜鸟,迫于无奈,工作中要用到JS,尤其对JSON的处理为多,网上搜了一下,所讲的基本雷同。所以把平时用的比较多的JSON处理方法总结了一下,权当加深记忆。

一、概述

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包。

 在JSON中,有两种结构:对象和数组。

1.对象

一个对象以“{”开始,“}”结束。每个“key”后跟一“:”,“‘key/value’ 对”之间运用 “,”分隔。

packJson = {"name":"nikita", "password":"1111"}

2.数组

packJson = [{"name":"nikita", "password":"1111"}, {"name":"tony", "password":"2222"}];

数组是值的有序集合。一个数组以“[”开始,“]”结束。值之间运用 “,”分隔。

二、JSON对象和JSON字符串的转换

在数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。例如:

JSON字符串:

var jsonStr = '{"name":"nikita", "password":"1111"}';

JSON对象:

var jsonObj = {"name":"nikita", "password":"1111"};

对于前端完全是菜鸟,迫于无奈,工作中要用到JS,尤其对JSON的处理为多,网上搜了一下,所讲的基本雷同。所以把平时用的比较多的JSON处理方法总结了一下,权当加深记忆。

一、概述

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包。

 在JSON中,有两种结构:对象和数组。

1.对象

一个对象以“{”开始,“}”结束。每个“key”后跟一“:”,“‘key/value’ 对”之间运用 “,”分隔。

packJson = {"name":"nikita", "password":"1111"}

2.数组

packJson = [{"name":"nikita", "password":"1111"}, {"name":"tony", "password":"2222"}];

数组是值的有序集合。一个数组以“[”开始,“]”结束。值之间运用 “,”分隔。

二、JSON对象和JSON字符串的转换

在数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。例如:

JSON字符串:

var jsonStr = '{"name":"nikita", "password":"1111"}';

JSON对象:

var jsonObj = {"name":"nikita", "password":"1111"};

2、String转换为Json

var myObject = eval('(' + myJSONtext + ')'); 

eval是js自带的函数,不是很安全,可以考虑用json包。

三、遍历JSON对象

复制代码
复制代码
myJson = {"name":"nikita", "password":"1111"};

for(var p in myJson){//遍历json对象的每个key/value对,p为key

   alert(p + " " + myJson[p]);

}
复制代码

运行结果:

四、遍历JSON数组

复制代码
复制代码
packJson = [

{"name":"nikita", "password":"1111"},

{"name":"tony", "password":"2222"}

];

for(var p in packJson){//遍历json数组时,这么写p为索引,0,1

   alert(packJson[p].name + " " + packJson[p].password);

}
复制代码
复制代码

我更倾向于这种写法:

for(var i = 0; i < packJson.length; i++){

   alert(packJson[i].name + " " + packJson[i].password);

}

运行结果:

 

 五、将两个JSON对象组装到一个里面

复制代码
复制代码
//targetJson 目标JSON,packJson 被组装JSON

function addGroupJson(targetJson, packJson){

    if(targetJson && packJson){

       for(var p in packJson){

           targetJson[p] = packJson[p];

       }

    }

}
复制代码
复制代码

用法如下:

var json1 = {"name":"nikita"};
var json2 = {"password":"1111"};
addGroupJson(json1, json2);
alert(json2str(json1));

运行结果:

分享到:
评论

相关推荐

    JS中Json对象

    ### JS中Json对象 #### JSON概述 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON是基于JavaScript的一个子集,采用完全独立于编程语言的文本...

    使用JavaScript操作JSON源码

    总结来说,JavaScript提供了强大的工具来操作JSON源码,包括解析JSON字符串,转换JavaScript对象,遍历和修改对象,以及与服务器进行异步通信。熟悉这些基本操作是成为熟练JavaScript开发者的必备技能。通过不断实践...

    json2.js json.js

    总结来说,json2.js是一个解决旧版JavaScript引擎中JSON支持问题的库,提供JSON.parse()和JSON.stringify()等方法,使得在不支持JSON的环境中也可以进行JSON数据的解析和序列化操作。随着浏览器技术的发展,它的使用...

    Linux JSON 命令总结.zip_json linux_shell解析json

    `json`命令是一个小型的命令行工具,它提供了一些基本的JSON操作,如验证、美化(pretty-print)、解码和编码。例如,`json -p`可以将JSON数据以易读的格式打印出来。 3. **`python -m json.tool`**: 如果你的...

    js解析json代码

    根据所提供的文件信息,“js解析json代码”这一标题明确指出了本文将探讨的主题,即如何利用JavaScript语言处理JSON格式的数据。描述部分进一步强调了这部分内容关注的是具体的JavaScript解析代码实现。接下来,我们...

    Js实现json数据的读写

    总结来说,JavaScript提供了强大的工具来处理JSON数据。无论是从服务器获取还是向服务器发送,或是读取和写入本地文件,JavaScript都能很好地胜任。通过`JSON.parse()`和`JSON.stringify()`,我们可以轻松地在...

    Jquery.json.js

    总结,`jQuery.json.js`这个文件可能是jQuery的一个扩展插件,专门用于增强jQuery对JSON的支持。在实际项目中,通过使用jQuery提供的这些方法,开发者可以轻松地处理JSON数据,实现与服务器的高效通信。同时,理解...

    Android操作JSON详细总结

    #### 三、Android中的JSON操作类 Android平台提供了几个内置类来帮助开发者处理JSON数据: 1. **JSONObject** - **描述**:`JSONObject`类是用于处理JSON对象的主要工具,它代表了一个无序的键值对集合。 - **...

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

    总结来说,理解和熟练掌握JSON在JavaScript中的处理方法对于Web开发者至关重要,因为它是现代Web应用中数据交换的主要方式。`JSON.parse()`和`JSON.stringify()`是JavaScript处理JSON的核心工具,而实际项目中的HTML...

    json,json.js下载 客户端转换

    总结一下,"json.zip"中的"json.js"文件是一个用于客户端JSON数据转换的JavaScript库,它可以帮助开发者方便地在浏览器环境中进行JSON的序列化和反序列化操作。这个库可能包含了一些优化和扩展,以适应更广泛的需求...

    基于.NET3.5的JSON操作

    总结起来,基于.NET 3.5的JSON操作主要依赖于Json.NET库,通过`JsonHelper`类进行序列化和反序列化操作。在ASP.NET Web Forms项目中,这些操作通常与Web页面的生命周期结合,处理客户端和服务器间的JSON数据交换。...

    C#JSON操作类

    总结起来,C#中的JSON操作涉及到序列化、反序列化、动态操作以及自定义转换器等多个方面。根据项目需求,可以选择使用内置的System.Text.Json库或是流行的第三方库Newtonsoft.Json,它们都能提供高效、灵活的方式来...

    JS获取json文件内容并处理参考

    3. **JSON**: JSON是一种数据交换格式,其语法结构与JavaScript对象相似,便于JavaScript进行解析和操作。 4. **jQuery**: 是一个流行的JavaScript库,简化了DOM操作、事件处理、动画和Ajax交互等任务。它的$.ajax...

    JSON的学习总结(总结+源码)

    JSON,全称JavaScript Object Notation,是一种轻量级的数据交换格式,它基于JavaScript的一个子集,易于人阅读和编写,同时也易于机器解析和生成。在Web服务和客户端应用交互中,JSON扮演着至关重要的角色,因为它...

    json/json2.js两个版本

    这个库通常会包含一些安全检查和错误处理机制,以确保JSON操作的正确性。 `json2.js`可能是Douglas Crockford创建的一个更新版本,他是JSON规范的主要推动者。`json2.js`也提供了JSON.parse和JSON.stringify方法,...

    Node.js-json-git一个纯JS本地Git来版本化任何JSON

    总结来说,`json-git`为Node.js开发者提供了一个便捷的工具,用于对JSON数据进行版本控制,其轻量级、易用性和强大的功能使得它在各种场景下都有广泛的应用潜力。结合Node.js的生态环境,json-git可以帮助开发者更...

    解决javascript组装json的繁琐问题

    总结,解决JavaScript组装JSON的繁琐问题,可以通过采用javabean模式创建数据封装对象,并结合JavaScript的`prototype`来扩展功能。利用`toJSONObject`这样的辅助函数,可以方便地将复杂的数据结构转换为JSON格式,...

    json2.js包

    总结,`json2.js`是JavaScript开发者在不支持原生JSON功能的浏览器中处理JSON数据的重要工具。通过引入这个库,可以确保在各种环境中稳定地执行JSON解析和序列化操作。如果你在工作中遇到需要在旧版浏览器上处理JSON...

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

    2. **工具**:可能提到了一些辅助工具或者JavaScript内置功能,帮助开发者进行JSON操作。 **压缩包子文件的文件名称列表:** `json2.js` 这个文件名暗示了一个可能的JavaScript库,可能是用来处理JSON的。JSON2.js...

    json ,json_parse.js

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一...`json_parse.js`可能是一个用于处理JSON数据的JavaScript模块,包含了对JSON字符串的解析以及可能的错误处理和数据转换逻辑。

Global site tag (gtag.js) - Google Analytics