JSON...

                                                                      json总结

什么是json:

        json是一种是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

json起源于JavaScript这门语言;json是存储和交换文本信息的语法,类似于XML。Json比XML更小、更快、更易解析;简而言之就是基于文本的标准数据交换格式,使应用程序通过计算机网络交换数据。随着使用广泛,每门语言几乎都有处理JSON的API;

json以"键值对"存储数据:例

        var a ={"one":"一","two":"二","three":"三"}

取值就是:a.one的值就是一。

JSON可以有两种格式,一种是对象格式的,一种是数组格式的;

stringJson{"address":"北京","age":22,"name":"张三"} //json的对象格式的字符串

  stringArray[{"address":"北京","age":22,"name":"张三"}]  //json数组对象格式字符串

一、JAVA普通对象和json字符串的互相转换

java对象--->字符串

 打印结果

 定义了一个user实体类,使用JSONObject和JSONArray两种方式转化为JSON字符串;从结果中可以看出两种方法都可以把java对象转化为字符串,只是转化后的结构不同,一种是json对象格式的字符串,一种是json数组对象的字符串;

json字符串--->java对象

打印结果

 

 使用JSONObject可以直接轻松的把JSON格式的字符串转化成java对象;

但是使用JSONArray的对象就没有那么容易了;因为有  []   符号,所以在获得了JSONArray的对象之后,取第一个元素进行变形,然后使用JSONObject.toBean也可以获得了;

二、list和json字符串的相互转换

list-->json字符串

异常

在使用fromObject方法的时候会先进行参数类型的判断;

注释之后的打印结果

 

 json串-->list

打印结果

 

字符串是带[]  的格式,所以选择使用JSONArray对象;有toArray、toList方法可以使用;

转化为jsva中的数组,或java中的list;实体类user.class;

 

三、map和json字符串的互转

map-->json

打印结果

json-->map

也可以使用使用toBean需要三个参数

 打印结果

 

 

 json map,list有什么区别

 map是双列集合,每个节点有键有值,键为string,值为任何类,这就为拼接复杂数据形式提供了前提。list是单列集合,每个节点只有值,值是任何类,不过list有索引值。

List特点:有序,有索引,元素可以重复。 

实现List接口的类:ArrayList、Vector、LinkedList

ArrayList:特点查询快,增删慢,线程不安全,不可以村空,效率高

Vector:特点查询快,增删慢,线程安全,不可以存空,效率低

LinkedList:特点查询慢,增删快,线程不安全,不可以存空,效率高

具体见下面集合神图:

 

js解析后台传来的json字符串

js是无法直接接收和使用json的数据的,用的话会出现undefined,所以需要转换一下。

可以使用JSON.parse()  可以解析json可是的的数据,并且还会对要解析的字符串进行格式检查,如果格式不正确则不进行解析;

有一个eval()可以解析任何字符串但是eval是不安全的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值