在用过javascript写过一段时间的web应用之后,忽然发现JSON是个挺可爱的东西。之前在用php的时候,都是在数据库里面操作数据,当然在数据量比较多的时候数据库挺有用的,但是我感觉JSON作为一种轻量级的数据交换格式,采用完全独立于语言的文本格式。在html5的开发中,它成为理想的数据交换语言。不但阅读、调用和编写方便,同时也易于机器解析和生成。
JSON的构建只有数组“[]”和对象“{}”两种结构,有这两种结构便可以组成复杂的数据结构。
因此,为了纪念JSON带给我的愉悦之感,总结了一些对JSON的操作,以示纪念。
一:遍历
(1)
var info = [{"name":"zhangsan","phone":"1234567"}];
alert(info[0]["name"])//zhangsan
alert(info[0].name)//zhangsan
var info_2 = ['aa','bb','cc'];
alert (info_2[1])//bb
(2)
var value={
"KFC":{
"food_a":{"price":"1"},
"food_b":{"price":"2"},
"food_c":{"price":"3"}
},
"7-11":{
"food_d":{"price":"4"},
"food_e":{"price":"5"}
}
};
for(var restaurant in value)
{
console.log(restaurant);
for(var food in value[restaurant])
{
console.log(food);
for(var price in value[restaurant][food])
{
console.log(value[restaurant][food][price]);
}
}
}
restaurant为value对象的一个属性名
value[restaurant]为value对象的属性值,这里是一个json对象
value[restaurant][food]为value[restaurant]的属性值,也是一个json对象
因此,value[restaurant][food]["price"]或者value[restaurant][food].price便可以取道对应的price值
关于JSON最重要的是要分清楚是json对象还是array。
(3)
var value = {
"applicant":[
{"name":"zhangsan","phone":"15987654321"},
{"name":"lisi","phone":"15912345678"}
],
"activity":[
{"name":"act1","id":"1"},
{"name":"act2","id":"2"}
]
};
for(var item in value)
{
console.log(item);
console.log(value[item].length);
for(var i = 0;i < value[item].length;i++)
{
console.log(value[item][i]["name"]);
}
}
item为value对象的一个属性名
value[item]属性值,本例中是一个数组
value[item].length得到对应数组的长度
value[item][i]为数组的项 ,本例中有事一个json对象
value[item][i]["name"]或者value[item][i].name来取得name的值
二:存储
html5中可以stringify将json转化成字符串储存在localstorage中,需要是再通过JSON.parse转化成json对象。当我们需要向json中增加储存条目的时候,可以按照格式创建一个对象,然后push到json中。
var value = {
"applicant":[
{"name":"zhangsan","phone":"15987654321"},
{"name":"lisi","phone":"15912345678"}
],
"activity":[
{"name":"act1","id":"1"},
{"name":"act2","id":"2"}
]
};
var item = {"name":"wangwu","phone":"13312345678"};
value.applicant.push(item);
分享到:
相关推荐
总结,"json使用的小包包"可能是关于如何在Spring MVC项目中有效利用JSON进行数据交换的实践案例或工具集合,涵盖了JSON的基本概念、Spring MVC中的JSON处理、数据验证以及与Ajax的结合使用等内容。通过学习和应用...
总结来说,Newtonsoft.Json 以其强大而灵活的功能,成为了 .NET 开发人员处理 JSON 数据的首选工具。其丰富的特性使得 JSON 序列化和反序列化变得简单易行,同时提供了足够的自定义选项以满足复杂的业务需求。通过...
总结一下,Java中遍历JSON文件主要分为四个步骤:引入JSON处理库,读取文件内容,解析JSON字符串,以及遍历和处理JSON数据结构。通过这种方式,你可以方便地操作和分析JSON文件中的任何数据,满足各种业务需求。在...
在SQL中,我们可以使用`LIMIT`子句来实现这一点,如`SELECT ... LIMIT 5;`。 生成的JSON数据通常会以文本形式显示,或者保存到文件中。如果是在编程环境中,可以将这些数据进一步处理,比如发送到Web服务器,或者...
jsonlib提供了一些注解和接口来实现这一点。例如,你可以实现`JSONAware`接口来自定义JSON表示,或者使用`@JSONField(serialize=false)`注解来忽略某个字段。 **总结** jsonlib作为Java中的JSON处理库,提供了强大...
JSON 是基于 JavaScript 语法的,它由键值对(key-value pairs)组成,可以是对象或数组。例如: ```json { "name": "张三", "age": 30, "city": "北京" } ``` 或者 ```json [ { "name": "张三", "age": 30...
JSON映射的核心是将JSON键值对对应到Java对象的属性。例如,JSON对象`{"name": "John", "age": 30}`可以映射到Java类`User`的`name`和`age`字段。这需要Java类具有对应的getter和setter方法,以及正确的数据类型。 ...
总结来说,"json转java包"可能是一个集成了JSON解析、MyBatis代码生成和MySQL连接的工具或库,它的目的是简化Java开发者处理JSON数据以及与数据库交互的过程,提高开发效率。在实际使用时,开发者需要结合提供的jar...
这个库提供了`json`类型,可以用来表示JSON的各种数据结构,如对象(键值对)、数组、字符串、数值、布尔值和null。 ### 将JSON转为字符串 将JSON对象转换为字符串通常是为了输出或存储JSON数据。nlohmann/json库...
总结,libqt4json-1.1.0-beta1是Qt框架对JSON支持的重要组成部分,它为Qt开发者提供了便利的JSON操作接口。理解和熟练使用这个库,能帮助开发者更高效地处理JSON数据,提升项目的开发效率和可维护性。在实际应用中,...
在Python中,对JSON的支持非常广泛,这得益于Python内置了`json`模块用于处理这类数据。 然而,在某些场景下,例如处理复杂的业务逻辑时,仅使用字典来表示JSON数据可能会显得不够灵活和方便。因此,将JSON数据转换...
2. **解析效率**:在大多数现代浏览器中,可以直接解析 JSON 数据为 JavaScript 对象,而无需额外的解析步骤,这一点相比于 XML 显著提高了效率。 3. **兼容性**:虽然 XML 支持更多的元数据和结构化信息,但 JSON ...
1. 判断数组是否包含特定对象或判断对象是否相等:由于JSON.stringify()会将对象转换为字符串,我们可以利用这一点进行比较。但需要注意,这种方法只适用于对象的结构相同,且属性值可序列化的情况。 ```javascript...
总结,Gson作为Java中的强大JSON处理库,提供了简单易用的API,能够方便地完成JSON与Java对象之间的转换。通过学习和掌握Gson的使用,可以提高JSON处理的效率和代码质量。在实际项目中,结合Gson的高级功能,可以...
总结来说,ASP.NET中的万能JSON解析器是用于解析和操作JSON数据的工具,它通过提供对JSON结构的访问方法,帮助开发者轻松地在应用程序中处理JSON数据。了解和掌握这类解析器的使用对于进行ASP.NET开发至关重要,特别...
总结一下,使用JSON.NET,我们可以轻松地对具有接口属性的类进行序列化和反序列化。只需确保正确地标记接口属性,并在反序列化时提供相应的JSON结构,JSON.NET就能帮助我们处理接口的序列化逻辑。在实际开发中,这种...
总结来说,JSON是一种广泛使用的轻量级数据交换格式,它简洁且易于阅读,特别是对于Web开发和JavaScript环境。JavaScript提供了原生支持来读取和写入JSON数据,通过`JSON.parse()`和`JSON.stringify()`方法可以轻松...
总结来说,理解并掌握ObjectMapper的readValue方法是进行JSON反序列化工作的基础。通过自定义反序列化方法,我们可以灵活地处理各种复杂的数据映射需求,将JSON数据准确无误地转换成Java对象,以供后端业务逻辑处理...
总结而言,使用getJSON()方法进行异步请求并处理JSON数据是一种高效且广泛使用的技术手段。它通过简化AJAX请求的处理,使得开发者能够更专注于数据交互和用户界面的动态更新,从而提升应用的整体性能和用户体验。...
总结来说,square的Moshi库是一个强大且易用的JSON处理工具,无论是对于Android还是Java开发者,它都能极大地提升开发效率,简化JSON操作。其类型安全的设计、高效的性能以及丰富的社区支持,使其成为处理JSON数据的...