json及java对象的对应关系(json分析)。
2016-12-30 21:03
796 查看
一:json及java对象的对应关系(分析json)。
1.json示例;
![](https://img-blog.csdn.net/20161230210525296?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ3VvemlsaTE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2.json的构成。
Json总体来说是一串有结构的字符串String,从形式来看,它是多个{}组和[]组嵌套成一个大{}的结构,从数据上来说它是由多个对象和对象数组构成的一个大对象。每对{}包含的是一个对象,每对[]包含的是一个或多个对象形成对象数组。被包含在中间的单层{}结构中间的是键值对,多个键值对构成最基本的对象单元,外层的{}对就是由键值对和里层的对象构成。此外,每个{}包括其内容单独拿出来都是标准json格式,我们也叫它JSONObject.
按上图所示json来分析:它一共有4对{},一对[],说明这个json存在4个对象和一个数组。数组当然是存在对象中,但数组个数与包含数组的对象个数无必然联系。
最外层的大括号是大对象JSONObject,取个名字叫json吧,它里面是results,但是results对象的{}外边是[],也就是说这有一个数组,存在一个或多个results对象,所以最外边的json对象是一个results的数组或list,再看results
JSONObject对象,它包括一个location对象、一个now对象以及一组键值对。Location对象和now对象都是由单纯的键值对构成了。
总结就是此json包括json、results、location、now四个对象,其中json内容是results对象的数组或列表。
3.java对象的构成。
Java对象就是多个属性的集合,是对具有相同属性的事务的概括,是对这些相同属性的概括。其中属性也可以是别的对象。属性也可以是列表和数组。
这样看来java对象和json中的JSONObject对象结构是很相似的。但它们之间有什么相应的联系呢?
4.java对象与JSONObject之间的映射关系。
首先,json全部转化成java对象的话,那么所有的json包含的所有JSONObject对象当然对应着一个java对象,即每个{}对应一个java对象,此外要注意除了总得那个大对象可以随意命名之外其他的对象都要和json结构中的名字对应起来,每个对象的属性值
都要和json中对应的key或者{}外边的名字一样)最里层的对象的属性值也必须和对应的键值对中的key的名称一致。
注意我们在创建json时不必每一个属性都写上。但是如果我们需要用到某一层的数据,那么它及它所有的外层的对象都必须要被创建。
有时候我们甚至不需要创建java对象,只是将json中的数据取出来用一下。
有时候我们并没有根据json创建java对象,我们把我们需要的数据取出来在封装到java对象中去。
实际上我们实际开发中所要用到的java对象和JSONObject对象并不完全一致,我们可能只是需要json中的一些数据而已,或者说json完全转化成的java对象并不符合我们我们在项目中的使用需要。所以我们要根据实际情况创建java对象,并根据需要转换json。
具体方法下次再说。
1.json示例;
2.json的构成。
Json总体来说是一串有结构的字符串String,从形式来看,它是多个{}组和[]组嵌套成一个大{}的结构,从数据上来说它是由多个对象和对象数组构成的一个大对象。每对{}包含的是一个对象,每对[]包含的是一个或多个对象形成对象数组。被包含在中间的单层{}结构中间的是键值对,多个键值对构成最基本的对象单元,外层的{}对就是由键值对和里层的对象构成。此外,每个{}包括其内容单独拿出来都是标准json格式,我们也叫它JSONObject.
按上图所示json来分析:它一共有4对{},一对[],说明这个json存在4个对象和一个数组。数组当然是存在对象中,但数组个数与包含数组的对象个数无必然联系。
最外层的大括号是大对象JSONObject,取个名字叫json吧,它里面是results,但是results对象的{}外边是[],也就是说这有一个数组,存在一个或多个results对象,所以最外边的json对象是一个results的数组或list,再看results
JSONObject对象,它包括一个location对象、一个now对象以及一组键值对。Location对象和now对象都是由单纯的键值对构成了。
总结就是此json包括json、results、location、now四个对象,其中json内容是results对象的数组或列表。
3.java对象的构成。
Java对象就是多个属性的集合,是对具有相同属性的事务的概括,是对这些相同属性的概括。其中属性也可以是别的对象。属性也可以是列表和数组。
这样看来java对象和json中的JSONObject对象结构是很相似的。但它们之间有什么相应的联系呢?
4.java对象与JSONObject之间的映射关系。
首先,json全部转化成java对象的话,那么所有的json包含的所有JSONObject对象当然对应着一个java对象,即每个{}对应一个java对象,此外要注意除了总得那个大对象可以随意命名之外其他的对象都要和json结构中的名字对应起来,每个对象的属性值
都要和json中对应的key或者{}外边的名字一样)最里层的对象的属性值也必须和对应的键值对中的key的名称一致。
注意我们在创建json时不必每一个属性都写上。但是如果我们需要用到某一层的数据,那么它及它所有的外层的对象都必须要被创建。
有时候我们甚至不需要创建java对象,只是将json中的数据取出来用一下。
有时候我们并没有根据json创建java对象,我们把我们需要的数据取出来在封装到java对象中去。
实际上我们实际开发中所要用到的java对象和JSONObject对象并不完全一致,我们可能只是需要json中的一些数据而已,或者说json完全转化成的java对象并不符合我们我们在项目中的使用需要。所以我们要根据实际情况创建java对象,并根据需要转换json。
具体方法下次再说。
相关文章推荐
- [原创]java WEB学习笔记81:Hibernate学习之路--- 对象关系映射文件(.hbm.xml):hibernate-mapping 节点,class节点,id节点(主键生成策略),property节点,在hibernate 中 java类型 与sql类型之间的对应关系,Java 时间和日期类型的映射,Java 大对象类型 的 映射 (了解),映射组成关系
- php中array转为json时的对象和数组的对应关系
- org.json源码分析及增强(一)——JSONObject对象与Java对象相互转换
- fastjson-1.2.21 使用实例,复杂嵌套Java对象转json对象,复杂嵌套json对象转对应Java对象的代码实现
- Android JNI中Java与C++对象如何建立一一对应的关系
- Java对象转换成Json字符串是无法获得对应字段名
- java对象 父对象 的 对应关系
- 13-MySQL面向对象设计:数据表与Java对象对应关系
- 13-MySQL面向对象设计:数据表与Java对象对应关系
- 使用GSON库将Java中的map键值对应结构对象转换为JSON
- 使用JAVA反射机制将简单JAVA been对象、数组转化为对应的Json串
- SQL的数据类型与Java数据类型的对应关系
- JSON 转化为java对象
- Flex Java Object对应关系
- 使用Java操作JSON字符串对象
- 使用JSON-LIB转换JAVA对象
- .net与Java 各个框架之间的对应关系
- SQL的数据类型与Java数据类型的对应关系
- ajax打印对象时,转换由java对象转为Json格式的String时遇到的Hibernate问题
- 使用json-lib将java对象转换成json字符串