java对象与json对象的转换

合集下载

fastjson的使用——JSON字符串、JSON对象、Java对象的互转

fastjson的使用——JSON字符串、JSON对象、Java对象的互转

fastjson的使⽤——JSON字符串、JSON对象、Java对象的互转⼀、fastjson简介⼆、依赖引⽤如果使⽤的是maven,需要在pom.xml⽂件中加⼊依赖:<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.78</version></dependency>如果使⽤的是gradle,需要在gradle.build⽂件中加⼊依赖:implementation("com.alibaba:fastjson:1.2.78")三、常⽤API字符串转成JSON对象/数组字符串转成JSON对象JSON.parseObject(String text)JSON.parse(String text)字符串转成JSON数组JSON.parseArray(String text)JSON.parse(String text)字符串转成Java对象/列表字符串转成Java对象JSON.parseObject(String text, Class<T> clazz)字符串转成Java对象列表JSON.parseArray(String text, Class<T> clazz)Java对象/列表转成JSON对象/数组Java对象转成JSON对象JSONObject.toJSON(Object javaObject)JSON.toJSON(Object javaObject)Java对象列表转成JSON数组JSONArray.toJSON(Object javaObject)JSON.toJSON(Object javaObject)JSON对象/数组转成Java对象/列表JSON对象转成Java对象JSON.toJavaObject(JSON json, Class<T> clazz)jsonObject.toJavaObject(JSON json) (⾮静态⽅法)JSON数组转成Java对象列表jsonArray.toJavaList(Class<T> clazz) (⾮静态⽅法)⽤两张图可以看的更清楚:思维导图:转换图:四、⽰例代码import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;import java.util.List;public class FastJSONLearning {public static void main(String[] args) {String jsonObjectStr = "{\"prop\":\"code\",\"label\":\"代码\",\"required\":true,\"key\":true}";String jsonArrayStr = "[{\"prop\":\"code\",\"label\":\"代码\",\"required\":true,\"key\":true},{\"prop\":\"explain\",\"label\":\"中⽂释义\",\"required\":true}]"; // 字符串转成JSON对象/数组// 字符串转成JSON对象// ⽅法1JSONObject jsonObject1 = JSON.parseObject(jsonObjectStr);System.out.println("字符串转成JSON对象: " + jsonObject1);// ⽅法2JSONObject jsonObject2 = (JSONObject) JSON.parse(jsonObjectStr);System.out.println("字符串转成JSON对象: " + jsonObject2);// 字符串转成JSON数组// ⽅法1JSONArray jsonArray1 = JSON.parseArray(jsonArrayStr);System.out.println("字符串转成JSON数组: " + jsonArray1);// ⽅法2JSONArray jsonArray2 = (JSONArray) JSON.parse(jsonArrayStr);System.out.println("字符串转成JSON数组: " + jsonArray2);// 字符串转成Java对象/列表// 字符串转成Java对象Dict dict = JSON.parseObject(jsonObjectStr, Dict.class);System.out.println("字符串转成Java对象: " + dict.toString());// 字符串转成Java对象列表List<Dict> dictList = JSON.parseArray(jsonArrayStr, Dict.class);System.out.println("字符串转成Java对象列表: " + dictList.toString());// Java对象/列表转成JSON对象/数组// Java对象转成JSON对象// ⽅法1JSONObject jsonObject3 = (JSONObject) JSONObject.toJSON(dict);System.out.println("Java对象转成JSON对象: " + jsonObject3.toJSONString());// ⽅法2JSONObject jsonObject4 = (JSONObject) JSON.toJSON(dict);System.out.println("Java对象转成JSON对象: " + jsonObject4.toJSONString());// Java对象列表转成JSON数组// ⽅法1JSONArray jsonArray3 = (JSONArray) JSONArray.toJSON(dictList);System.out.println("Java对象列表转成JSON数组: " + jsonArray3.toJSONString());// ⽅法2JSONArray jsonArray4 = (JSONArray) JSON.toJSON(dictList);System.out.println("Java对象列表转成JSON数组: " + jsonArray4.toJSONString());// JSON对象/数组转成Java对象/列表// JSON对象转成Java对象// ⽅法1Dict dict1 = JSON.toJavaObject(jsonObject1, Dict.class);System.out.println("JSON对象转成Java对象: " + dict1);// JSON对象转成Java对象// ⽅法2Dict dict2 = jsonObject1.toJavaObject(Dict.class);System.out.println("JSON对象转成Java对象: " + dict2);// JSON数组转成Java对象列表List<Dict> dictList1 = jsonArray1.toJavaList(Dict.class);System.out.println("JSON数组转成Java对象列表: " + dictList1);}}。

java gson解析原理

java gson解析原理

java gson解析原理Gson是一个Java库,用于将Java对象转换为JSON表示形式,以及将JSON字符串转换回Java对象。

它是由Google开发的,具有高性能和易用性。

Gson解析原理如下:1. 对象转换为JSON:当将一个Java对象转换为JSON时,Gson首先检查对象的类型,然后将对象的字段(属性)转换为JSON对象的键值对。

2. JSON转换为对象:当将一个JSON字符串转换为Java对象时,Gson首先将JSON字符串解析为一个JsonElement对象,然后根据要转换的对象类型,将JsonElement对象转换为相应的Java对象。

3. 自定义类型适配器:Gson允许开发人员注册自定义的类型适配器,用于将特定类型的对象与JSON之间进行转换。

开发人员可以实现自己的TypeAdapter或JsonSerializer和JsonDeserializer来处理特定类型的转换。

4. 注解:Gson还支持注解,通过注解开发人员可以指定字段或方法如何转换为JSON以及如何从JSON转换为对象。

常用的注解包括@SerializedName(指定字段的JSON名称)和@Expose(指定字段是否被排除)。

总之,Gson使用反射和递归解析Java对象,并使用策略模式来处理不同的数据类型和注解。

它将Java对象转换为JSON 字符串时,遍历对象的字段,识别字段的类型,并递归地将字段值转换为JSON对象。

将JSON字符串转换为Java对象时,Gson解析JSON字符串为JsonElement对象,然后将JsonElement对象转换为相应的Java对象。

如果需要自定义类型的转换,可以注册自定义的类型适配器。

java中dataobject转jsonobject

java中dataobject转jsonobject

Java中DataObject转JSONObject在Java开发中,我们经常需要将数据对象(DataObject)转换为JSON对象(JSONObject),以便在网络传输或存储中使用。

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写,也易于解析和生成。

本文将介绍如何使用Java将DataObject转换为JSONObject的方法和技巧。

1. 什么是DataObject和JSONObject在开始之前,让我们先了解一下DataObject和JSONObject的概念。

DataObjectDataObject是指在Java中表示数据的对象,通常由一组属性(属性可以是基本类型、引用类型或集合类型)组成,用于封装和传递数据。

DataObject通常是通过类来表示,每个属性对应类中的一个字段,通过getter和setter方法来访问和修改属性的值。

JSONObjectJSONObject是指在Java中表示JSON数据的对象。

它是org.json库中的一个类,可以用来创建、操作和解析JSON数据。

JSONObject是一个无序的键值对集合,可以通过键来访问对应的值。

它支持嵌套结构,可以包含其他的JSONObject和JSONArray对象。

2. 使用org.json库将DataObject转换为JSONObject要在Java中将DataObject转换为JSONObject,我们可以使用org.json库提供的JSONObject类。

这个库是一个轻量级的JSON处理工具,可以方便地创建、操作和解析JSON数据。

步骤1:添加依赖首先,我们需要在项目中添加org.json库的依赖。

可以通过Maven或Gradle等构建工具来添加依赖,下面是使用Maven添加依赖的示例:<dependency><groupId>org.json</groupId><artifactId>json</artifactId><version>20210307</version></dependency>步骤2:创建DataObject类接下来,我们需要创建一个DataObject类,用于表示要转换的数据对象。

JSON字符串与Java对象及数组的相互转换

JSON字符串与Java对象及数组的相互转换

JSON字符串与Java对象及数组的相互转换1. 把java 对象列表转换为json对象数组,并转为字符串复制代码代码如下:JSONArray array = JSONArray.fromObject(userlist);String jsonstr = array.toString();2.把java对象转换成json对象,并转化为字符串复制代码代码如下:JSONObject object = JSONObject.fromObject(invite);String str=object.toString());3.把JSON字符串转换为JAVA 对象数组复制代码代码如下:String personstr = getRequest().getParameter("persons");JSONArray json = JSONArray.fromObject(personstr);List<InvoidPerson> persons = (List<InvoidPerson>)JSONArray.toCollection(json, nvoidPerson.class);4.把JSON字符串转换为JAVA 对象复制代码代码如下:JSONObject jsonobject = JSONObject.fromObject(str);PassportLendsEntity passportlends = null;try {//获取⼀个json数组JSONArray array = jsonobject.getJSONArray("passports");//将json数组转换成 List<PassPortForLendsEntity>泛型List<PassPortForLendsEntity> list = new ArrayList<PassPortForLendsEntity>();for (int i = 0; i < array.size(); i++) {JSONObject object = (JSONObject)array.get(i);PassPortForLendsEntity passport = (PassPortForLendsEntity)JSONObject.toBean(object,PassPortForLendsEntity.class);if(passport != null){list.add(passport);}}//转换PassportLendsEntity 实体类passportlends = (PassportLendsEntity)JSONObject.toBean(jsonobject, PassportLendsEntity.class);str = "{\"lendperson\":\"李四\",\"lendcompany\":\"有限公司\",\"checkperson\":\"李四\",\"lenddate\":\"2010-07-19T00:00:00\",\"lendcounts\":4,\"passports\":[{\"passportid\":\"d\",\"name\":\"李豫川\",\"passporttype\":\"K\"},{\"passportid\":\"K9051\",\"name\":\"李平\",\"passporttype\":\"K\"},{\"passportid\":\"K90517\",\"name\":\"袁寒梅\",\"passporttype\":\"K\"},{\"passportid\":\"K905199\",\"name\":\"贺明\",\"passporttype\":\"K\"}]}";。

基于反射机制实现Java对象向Json数据的转换

基于反射机制实现Java对象向Json数据的转换
In terchange of Java O bject to Json Da ta Ba sed on Reflection
L I Zheng
(Departm ent of M anagement Engineering, Chengde Petroleum College, Chengde 067000, Hebei, China)
一个对象 ,都能够调用它的任意一个方法 ;这种动态获取的信息以及动态调用对象的方法的功能称为 java语言的反射机制 [ 2 ] 。
Java反射的实现主要是依赖 java. lang. reflect包所提供的类 。其中最经常使用的是如下三个类 。 1) java. lang. reflect. Field类 Fie ld 提供有关类或接口的单个域的信息 。利用这个类我们可以得到一个类的所有域以及域中的数据 。 2) java. lang. reflect. M ethod类 M ethod 提供关于类或接口上单独某个方法的信息 。使用 M ethod类可以获得并调用一个类中的任 意方法 。 3) java. lang. reflect. Constructor类 Constructor提供关于类的单个构造方法的信息 。使用 Constructor类我们可以得到一个类的所有构 造方法 。 2. 2 JAVA 反射的操作步骤 使用 JAVA 反射机制的时候必须要遵循三个步骤 : 第一步是获得你想操作的类的 java. lang. C lass对象 。在运行中的 Java 程序 ,用 java. lang. C lass类 来描述对象所属类和实现接口的信息 。 第二步是调用 C lass类的诸如 getDeclaredM ethods的方法 ,以取得该类中定义的所有方法和域的反 射对象列表 。 第三步是利用第二步所取得的方法和域反射对象 ,利用 reflection AP I来操作这些信息 。

Java中JSON字符串与java对象的互换实例详解

Java中JSON字符串与java对象的互换实例详解

Java中JSON字符串与java对象的互换实例详解在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML、JSON等,JSON作为⼀个轻量级的数据格式⽐xml效率要⾼,XML需要很多的标签,这⽆疑占据了⽹络流量,JSON在这⽅⾯则做的很好,下⾯先看下JSON的格式,JSON可以有两种格式,⼀种是对象格式的,另⼀种是数组对象,{"name":"JSON","address":"北京市西城区","age":25}//JSON的对象格式的字符串[{"name":"JSON","address":"北京市西城区","age":25}]//数据对象格式从上⾯的两种格式可以看出对象格式和数组对象格式唯⼀的不同则是在对象格式的基础上加上了[],再来看具体的结构,可以看出都是以键值对的形式出现的,中间以英⽂状态下的逗号(,)分隔。

在前端和后端进⾏数据传输的时候这种格式也是很受欢迎的,后端返回json格式的字符串,前台使⽤js中的JSON.parse()⽅法把JSON字符串解析为json对象,然后进⾏遍历,供前端使⽤。

下⾯进⼊正题,介绍在JAVA中JSON和java对象之间的互转。

json-lib提供了⼏个类可以完成此功能,例,JSONObject、JSONArray。

从类的名字上可以看出JSONObject转化的应该是对象格式的,⽽JSONArray转化的则应该是数组对象(即,带[]形式)的。

⼀、java普通对象和json字符串的互转java对象--》》字符串java普通对象指的是java中的⼀个java bean,即⼀个实体类,如,package .study.day3;public class Student {//姓名private String name;//年龄private String age;//住址private String address;public String getName() {return name;}public void setName(String name) { = name;}public String getAge() {return age;}public void setAge(String age) {this.age = age;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}@Overridepublic String toString() {return "Student [name=" + name + ", age=" + age + ", address="+ address + "]";}}上⾯是我的⼀个普通的java实体类,看json-lib如何把它转化为字符串形式,public static void convertObject() {Student stu=new Student();stu.setName("JSON");stu.setAge("23");stu.setAddress("北京市西城区");//1、使⽤JSONObjectJSONObject json = JSONObject.fromObject(stu);//2、使⽤JSONArrayJSONArray array=JSONArray.fromObject(stu);String strJson=json.toString();String strArray=array.toString();System.out.println("strJson:"+strJson);System.out.println("strArray:"+strArray);}我定义了⼀个Student的实体类,然后分别使⽤了JSONObject和JSONArray两种⽅式转化为JSON字符串,下⾯看打印的结果,strJson:{"address":"北京市西城区","age":"23","name":"JSON"}strArray:[{"address":"北京市西城区","age":"23","name":"JSON"}]从结果中可以看出两种⽅法都可以把java对象转化为JSON字符串,只是转化后的结构不同。

javatojson用法

javatojson用法

javatojson用法JavaToJSON是一种常用的将Java对象转换为JSON格式的方法,它可以帮助我们将Java对象转换为易于阅读和使用的JSON字符串。

本文将介绍JavaToJSON的用法、常见问题和注意事项。

JavaToJSON是一种将Java对象转换为JSON格式的工具,它可以将Java对象序列化为JSON字符串,以便于存储、传输和展示。

它支持多种数据类型,包括基本数据类型、对象、数组等。

1.引入相关依赖在使用JavaToJSON之前,需要将其添加到项目的依赖中。

可以通过Maven或Gradle等构建工具来添加依赖。

2.创建Java对象首先需要创建一个Java对象,该对象需要实现一个特定的接口或类,以便于将其转换为JSON格式。

3.使用JavaToJSON转换对象使用JavaToJSON可以将Java对象转换为JSON格式的字符串。

可以使用以下代码来实现:StringjsonString=JsonUtil.toJson(javaObject);其中,javaObject是要转换的Java对象,jsonString是转换后的JSON字符串。

4.解析JSON字符串为Java对象使用JavaToJSON可以将JSON字符串转换为Java对象。

可以使用以下代码来实现:JavaObjectjavaObject=JsonUtil.fromJson(jsonString,JavaObj ect.class);其中,jsonString是要解析的JSON字符串,JavaObject是转换后的Java对象类型。

三、常见问题及解答Q:如何将集合类型转换为JSON?A:JavaToJSON支持将集合类型转换为JSON数组。

可以将集合类型封装为List或Array等Java集合类型,然后将其传递给JavaToJSON进行转换。

Q:如何处理嵌套的对象或数组?A:JavaToJSON支持处理嵌套的对象或数组。

java将实体类转为json_JavaWeb实体类转为json对象的实现方法

java将实体类转为json_JavaWeb实体类转为json对象的实现方法

java将实体类转为json_JavaWeb实体类转为json对象的实现方法在JavaWeb开发中,我们经常需要将实体类转化为JSON对象,以便于在前端页面进行展示或者传输数据。

在本篇文章中,我将介绍如何使用不同的方法将实体类转化为JSON对象。

一、使用Java原生方法实现转化Java原生方法提供了将Java对象转化为JSON对象的工具类,可以将实体类转化为JSON字符串,然后通过JSON字符串转化为JSON对象。

1. 使用Gson库Gson是Google提供的一个Java库,可以方便地将Java对象转化为JSON字符串,并支持将JSON字符串转化为Java对象。

使用Gson库将实体类转化为JSON对象的步骤如下:(1)添加Gson库的依赖在项目中的pom.xml文件中添加Gson库的依赖:```xml<dependency><artifactId>gson</artifactId><version>2.8.6</version></dependency>```(2)在代码中使用Gson库```javaUser user = new User(;user.setId(1);user.setName("张三");user.setAge(20);Gson gson = new Gson(;String jsonString = gson.toJson(user);System.out.println(jsonString);```2. 使用Jackson库Jackson是一个开源的Java库,提供了将Java对象转化为JSON字符串,并支持将JSON字符串转化为Java对象。

使用Jackson库将实体类转化为JSON对象的步骤如下:(1)添加Jackson库的依赖在项目中的pom.xml文件中添加Jackson库的依赖:```xml<dependency><artifactId>jackson-databind</artifactId><version>2.12.4</version></dependency>```(2)在代码中使用Jackson库```javaUser user = new User(;user.setId(1);user.setName("张三");user.setAge(20);ObjectMapper mapper = new ObjectMapper(;String jsonString = mapper.writeValueAsString(user);System.out.println(jsonString);```二、使用Spring MVC框架实现转化Spring MVC是一个基于Java的实现了MVC(Model-View-Controller)模式的Web应用框架,它提供了将实体类转化为JSON对象的方便方法。

简述jackson方法的设计步骤

简述jackson方法的设计步骤

简述jackson方法的设计步骤Jackson方法的设计步骤Jackson是一个用于Java对象与JSON数据之间相互转换的库。

在使用Jackson进行开发时,需要按照一定的设计步骤来实现所需功能。

下面将以简述的方式介绍Jackson方法的设计步骤。

1. 导入Jackson库首先需要在项目中导入Jackson库的相关依赖,可以通过Maven 或者手动下载jar包的方式进行导入。

2. 创建Java对象在使用Jackson进行对象与JSON之间的转换时,首先需要创建对应的Java对象。

可以根据需求定义类和属性,确保Java对象能够准确地表示JSON数据。

3. 序列化Java对象为JSON序列化是将Java对象转换为JSON格式数据的过程。

使用Jackson库的ObjectMapper类可以实现Java对象的序列化。

具体步骤如下:- 创建ObjectMapper对象- 调用ObjectMapper的writeValue方法,传入Java对象和输出流作为参数,将Java对象序列化为JSON格式数据,并输出到输出流中。

4. 反序列化JSON为Java对象反序列化是将JSON格式数据转换为Java对象的过程。

使用Jackson库的ObjectMapper类可以实现JSON的反序列化。

具体步骤如下:- 创建ObjectMapper对象- 调用ObjectMapper的readValue方法,传入JSON字符串和Java对象类型作为参数,将JSON字符串反序列化为Java对象。

5. 配置Jackson的特性Jackson库提供了许多特性和选项,可以根据需要进行配置以满足具体需求。

可以通过ObjectMapper的方法来配置Jackson的特性,如设置日期格式、设置是否忽略未知属性等。

6. 处理复杂类型在实际应用中,可能会遇到复杂类型的处理,如集合、嵌套对象等。

Jackson库提供了相应的方法来处理这些复杂类型,如使用ObjectMapper的readValue方法读取集合类型的JSON数据。

fastjson_object_转jsonobject原理_概述说明

fastjson_object_转jsonobject原理_概述说明

fastjson object 转jsonobject原理概述说明1. 引言1.1 概述在现代的软件开发过程中,数据对象的序列化和反序列化是非常常见的操作。

随着JSON(JavaScript Object Notation)格式的普及,越来越多的应用程序选择将数据对象转换为JSON格式进行传输和存储。

fastjson是一个Java语言编写的高性能JSON解析库,它提供了很多便捷的方法和工具来处理JSON数据,并且支持将Java对象转换为JSON格式。

本文将重点介绍fastjson库中object转JSONObject(即Java对象转为JSON 对象)的原理和实现细节,以帮助读者更加深入地理解这一过程。

我们将详细探讨fastjson库和JSONObject类的概念以及其在实际应用中所起到的作用。

1.2 文章结构本文共分为五个主要部分:引言、fastjson object 转JSONObject原理、fastjson object转JSONObject的实现细节、使用fastjson进行object转JSONObject的示例代码与步骤解析以及结论。

在引言部分,我们会简要介绍文章内容并给出文章结构,帮助读者更好地阅读和理解全文。

然后,在第二部分中,我们将介绍fastjson库和JSONObject类,并解释它们在处理JSON数据时所扮演的角色。

我们还会详细讨论object转JSONObject 的过程,以及为什么选择fastjson库作为实现工具。

接着,在第三部分中,我们将探究JSON序列化与反序列化的基本原理,并深入研究fastjson库中的相关类如JSONSerializer、JSONDeserializer、DefaultJSONParser和DefaultJSONWriter等的实现细节。

在第四部分中,我们将通过示例代码演示和步骤解析,展示如何使用fastjson 进行object转JSONObject操作。

java中ArrayListMapObject与Json互相转换

java中ArrayListMapObject与Json互相转换

JSON(JavaScript Object Notation):是一种轻量级的数据交换格式一、JSON建构有两种结构:对象和数组1、对象:对象在js中表示为“{}”扩起来的内容,数据结构为{key:value,key:value,...}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为对象.key 获取属性值,这个属性值的类型可以是数字、字符串、数组、对象几种。

2、数组:数组在js中是中括号“[]”扩起来的内容,数据结构为["java","javascript","vb",...],取值方式和所有语言中一样,使用索引获取,字段值的类型可以是数字、字符串、数组、对象几种。

经过对象、数组2种结构就可以组合成复杂的数据结构了。

二、具体形式1、对象(1)一个对象以“{”(左括号)开始,“}”(右括号)结束。

(2)每个“名称”后跟一个“:”(冒号)(3)“…名称/值‟ 对”之间使用“,”(逗号)分隔例子:表示人的一个对象:{"姓名" : "大憨","年龄" : 24}2、数组是值(value)的有序集合。

(1)一个数组以“[”(左中括号)开始,“]”(右中括号)结束。

(2)值之间使用“,”(逗号)分隔。

例子:一组学生{"学生" :[{"姓名" : "小明" , "年龄" : 23},{"姓名" : "大憨" , "年龄" : 24}]}说明:此Json对象包括了一个学生数组,而学生数组中的值又是两个Json对象。

说了这些基本了解json的数据结构了...补充:在线Json校验格式化工具:/go.php?u=/index.php 三、老样子上次demo这时我的工程结构图:上面引用到的外部库大家网上搜索下载~configdata.json:[javascript]view plaincopy1.[2.true,3.false,4.true5.]Address类:[java]view plaincopy1./**2. * @Title: 创建Address实体类的POJO3. * @Description: TODO(用一句话描述该文件做什么)4. * @author Potter5. * @date 2013-2-18 上午10:16:036. * @version V1.07. */8.9.public class Address {10.private String street;//街道11.private String city;//城市12.private int zip;//邮编13.private String tel;//第一个电话号码14.private String telTwo;//第二个电话号码15.16.public Address() {17. }18.19.public Address(String street, String city, int zip, String tel, String telTwo){20.this.street = street;21.this.city = city;22.this.zip = zip;23.this.tel = tel;24.this.telTwo = telTwo;25. }26.27.public String getStreet() {28.return street;29. }30.31.public void setStreet(String street) {32.this.street = street;33. }34.35.public String getCity() {36.return city;37. }38.39.public void setCity(String city) {40.this.city = city;41. }42.43.public int getZip() {44.return zip;45. }46.47.public void setZip(int zip) {48.this.zip = zip;49. }50.51.public String getTel() {52.return tel;53. }54.55.public void setTel(String tel) {56.this.tel = tel;57. }58.59.public String getTelTwo() {60.return telTwo;61. }62.63.public void setTelTwo(String telTwo) {64.this.telTwo = telTwo;65. }66.}JsonTest类:[java]view plaincopy1.import java.io.File;2.import java.io.FileNotFoundException;3.import java.io.FileReader;4.import java.io.IOException;5.import java.util.ArrayList;6.import java.util.LinkedHashMap;7.import java.util.List;8.import java.util.Map;9.10.import net.sf.ezmorph.bean.MorphDynaBean;11.import net.sf.json.JSONArray;12.import net.sf.json.JSONFunction;13.import net.sf.json.JSONObject;14.15.public class JsonTest {16.17.public static void main(String args[]) {18.//javaArray和json互相转换19. javaArrayAndJsonInterChange();20. System.out.println("-------------------------------------");21.//javaList和json互相转换22. javaListAndJsonInterChange();23. System.out.println("-------------------------------------");24.//javaMpa和Json互转25. javaMapAndJsonInterChange();26. System.out.println("-------------------------------------");27.//javaObject和jsonObject互转28. javaObjectAndJsonInterChange();29. }30.31./**32. * javaArray和json互相转换33. */34.public static void javaArrayAndJsonInterChange() {35.// java 转数组36.boolean[] boolArray = new boolean[] { true, false, true };37. JSONArray jsonArray = JSONArray.fromObject(boolArray);38. String s = jsonArray.toString();39. System.out.println(s);40.41.// 通过json获取数组中的数据42. String result = readJson("configdata");43.44. JSONArray jsonR = JSONArray.fromObject(result);45.int size = jsonR.size();46.for (int i = 0; i < size; i++) {47. System.out.println(jsonR.get(i));48. }49. }50.51./**52. * javaList和json互相转换53. */54.public static void javaListAndJsonInterChange() {55. List list = new ArrayList();56. list.add(new Integer(1));57. list.add(new Boolean(true));58. list.add(new Character('j'));59. list.add(new char[] { 'j', 's', 'o', 'n' });60. list.add(null);61. list.add("json");62. list.add(new String[] { "json", "-", "lib" });63.64.// list转JSONArray65. JSONArray jsArr = JSONArray.fromObject(list);66. System.out.println(jsArr.toString(4));67.68.// 从JSON串到JSONArray69. jsArr = JSONArray.fromObject(jsArr.toString());70.// --从JSONArray里读取71.// print: json72. System.out.println(((JSONArray) jsArr.get(6)).get(0));73. }74.75./**76. * javaMpa和Json互转77. */78.public static void javaMapAndJsonInterChange() {79. Map map = new LinkedHashMap();80. map.put("integer", new Integer(1));81. map.put("boolean", new Boolean(true));82. map.put("char", new Character('j'));83. map.put("charArr", new char[] { 'j', 's', 'o', 'n' });84.// 注:不能以null为键名,否则运行报net.sf.json.JSONException:85.// ng.NullPointerException:86.// JSON keys must not be null nor the 'null' string.87. map.put("nullAttr", null);88.89. map.put("str", "json");90. map.put("strArr", new String[] { "json", "-", "lib" });91. map.put("jsonFunction", new JSONFunction(new String[] { "i" },"alert(i)"));92. map.put("address", new Address("P.O BOX 54534", "Seattle, WA", 42452,"561-832-3180", "531-133-9098"));93.// map转JSONArray94. JSONObject jsObj = JSONObject.fromObject(map);95. System.out.println(jsObj.toString(4));96.97.// 从JSON串到JSONObject98. jsObj = JSONObject.fromObject(jsObj.toString());99.100.//第一种方式:从JSONObject里读取101.// print: json102. System.out.println(jsObj.get("str"));103.// print: address.city = Seattle, WA104. System.out.println("address.city = " + ((JSONObject) jsObj.get("add ress")).get("city"));105.106.107.//第二种方式:从动态Bean里读取数据,由于不能转换成具体的Bean,感觉没有多大用处108. MorphDynaBean mdBean = (MorphDynaBean) JSONObject.toBean(jsObj); 109.// print: json110. System.out.println(mdBean.get("str"));111.//print: address.city = Seattle, WA112. System.out.println("address.city = " + ((MorphDynaBean) mdBean.get( "address")).get("city"));113.114. }115.116./**117. * javaObject和jsonObject互转118. */119.public static void javaObjectAndJsonInterChange(){120. Address address=new Address("P.O BOX 54534", "Seattle, WA", 42452,"561-832-3180", "531-133-9098");121.//object转JSONObject122. JSONObject jsObj = JSONObject.fromObject(address);123. System.out.println(jsObj.toString(4));124.125.//JsonObject转java Object126.127. Address addressResult=(Address) JSONObject.toBean(jsObj, Address.cl ass);128. System.out.println("address.city = "+ addressResult.getCity()); 129. System.out.println("address.street="+addressResult.getStreet()); 130. System.out.println("address.tel = "+ addressResult.getTel()); 131. System.out.println("address.telTwo="+addressResult.getTelTwo()); 132. System.out.println("address.zip="+addressResult.getZip());133. }134.135./**136. * 读取json文件137. * @param fileName 文件名,不需要后缀138. * @return139. */140.public static String readJson(String fileName) {141. String result = null;142.try {143. File myFile = new File("./config/" + fileName + ".json"); 144. FileReader fr = new FileReader(myFile);145.char[] contents = new char[(int) myFile.length()];146. fr.read(contents, 0, (int) myFile.length());147. result = new String(contents);148. fr.close();149. } catch (FileNotFoundException e) {150. e.printStackTrace();151. } catch (IOException e) {152. e.printStackTrace();153. }154.return result;155. }156.}。

jackson方法

jackson方法

jackson方法Jackson方法。

Jackson是一个用于Java对象和JSON数据之间相互转换的开源库。

它提供了一种简单而强大的方式来将Java对象转换为JSON格式的数据,同时也可以将JSON数据转换为Java对象。

在本文中,我们将介绍Jackson库的一些常用方法,以及如何在实际项目中使用它来进行对象和JSON数据的转换。

首先,我们来看看如何将Java对象转换为JSON数据。

在Jackson库中,我们可以使用ObjectMapper类来实现这一功能。

ObjectMapper是Jackson库中最重要的类之一,它提供了各种方法来对Java对象和JSON数据进行转换。

我们可以通过以下代码来实现Java对象到JSON数据的转换:```java。

ObjectMapper objectMapper = new ObjectMapper();String json = objectMapper.writeValueAsString(object);```。

在这段代码中,我们首先创建了一个ObjectMapper对象,然后调用其writeValueAsString方法,将Java对象转换为JSON字符串。

这样,我们就可以将任何Java对象转换为JSON数据,非常方便快捷。

接下来,让我们看看如何将JSON数据转换为Java对象。

同样地,我们可以使用ObjectMapper类来实现这一功能。

通过以下代码,我们可以将JSON数据转换为Java对象:```java。

ObjectMapper objectMapper = new ObjectMapper();MyObject object = objectMapper.readValue(json, MyObject.class);```。

在这段代码中,我们同样创建了一个ObjectMapper对象,然后调用其readValue方法,将JSON字符串转换为指定的Java对象类型。

jsonobject转java对象的原理

jsonobject转java对象的原理

jsonobject转java对象的原理在现代的Web开发中,JavaScript Object Notation(JSON)已成为应用程序之间交换数据的通用格式。

当接收到JSON格式数据时,我们经常需要将其转换为Java对象以对其进行处理。

这就需要了解一些关于JSON和Java对象之间转换的知识。

第一步:了解JSON的基本知识JSON是一个轻量级的数据交换格式,比XML更简单直观。

JSON数据结构为键值对,每个键名都是一个字符串类型,键值可以是数字、字符串、布尔值、数组或对象。

JSON数据的格式与JavaScript对象的格式十分相似,在JavaScript中可以轻易地转换为对象。

JSON格式示例:{"姓名": "张三","年龄": 28,"性别": "男","爱好": ["游泳", "打球"]}第二步:了解Java对象Java是一种面向对象的编程语言,它的对象包含数据和方法。

Java对象之间有继承、多态等特性。

在Java中,对象是通过类来实例化出来的。

Java对象的特点是具有强类型,即变量的类型在编程时需要确定。

Java对象示例:public class Student {private String name;private int age;private String sex;private List<String> hobbies;// getter 和 setter 方法省略}第三步:通过JSON库实现JSON转Java对象我们可以使用Java的JSON库来实现JSON转Java对象。

常用的JSON库包括Jackson、Gson、FastJson等。

这里以Jackson库为例来说明。

1. 导入Jackson库的依赖<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.12.4</version></dependency>2. 创建ObjectMapper对象来读取JSON数据,并使用readValue()方法将JSON转化为Java对象。

fastjson自动映射多级对象规则

fastjson自动映射多级对象规则

Fastjson是一个Java语言编写的JSON解析库,它支持JSON字符串与Java对象之间的互相转换。

在使用Fastjson自动映射多级对象时,需要遵循一定的规则和注意事项。

本文将介绍Fastjson自动映射多级对象的规则和最佳实践。

一、基本概念1.1 JSON对象与Java对象在使用Fastjson进行自动映射时,需要理解JSON对象与Java对象之间的对应关系。

JSON对象是一种轻量级的数据交换格式,它由键值对组成,以花括号{}表示。

而Java对象则是指在Java编程语言中的对象,它由类定义,并包含各种属性和方法。

1.2 自动映射自动映射指的是Fastjson可以根据JSON字符串的结构自动映射到Java对象的相应属性上,从而实现JSON与Java对象之间的转换。

这样可以大大简化了开发人员的工作,提高了开发效率。

二、规则和注意事项2.1 对象属性命名在进行自动映射时,需要注意JSON对象的属性名称与Java对象的属性名称的对应关系。

一般来说,JSON对象的属性名称是不区分大小写的,而Java对象的属性名称是区分大小写的。

在进行自动映射时,需要确保JSON对象的属性名称与Java对象的属性名称保持一致。

2.2 多级对象映射当JSON对象中包含多级对象时,需要使用嵌套的Java对象来表示。

在进行自动映射时,Fastjson可以自动将多级JSON对象映射到嵌套的Java对象中。

开发人员只需要定义好相应的Java类结构,Fastjson就可以自动完成对象之间的映射。

2.3 类型转换在进行自动映射时,有时会涉及到JSON对象中的属性与Java对象中的属性类型不一致的情况。

JSON对象中的属性为字符串类型,而Java对象中的属性为整型。

在这种情况下,Fastjson会自动进行类型转换,将JSON对象中的属性值转换为Java对象中的相应类型。

2.4 默认值处理当JSON对象中的属性值不存在时,Fastjson会将Java对象中对应属性的值设置为默认值。

jackson序列化原理

jackson序列化原理

jackson序列化原理Jackson是一个流行的Java库,用于将Java对象序列化为JSON 格式,反之亦然。

在这篇文章中,我们将深入探讨Jackson序列化的原理。

Jackson的核心类是ObjectMapper,它是Java对象和JSON之间转换的中心。

当我们使用ObjectMapper将Java对象序列化为JSON 时,Jackson会执行下列操作:1. 将Java对象转换为JsonNode对象首先,Jackson将Java对象转换为JsonNode对象。

JsonNode是Jackson中一个核心的、轻量级的JSON对象,它是一个类似于树结构的对象。

JsonNode对象包含了Java对象中的所有属性和值。

Jackson使用JsonNode对象来构建JSON格式的字符串。

2. 构建JSON格式的字符串接下来,Jackson将JsonNode对象转换为JSON格式的字符串。

这个过程通常称为序列化。

Jackson使用一组规则来序列化JsonNode 对象成一个JSON格式的字符串。

序列化的规则包括:如何处理空值、如何处理日期、如何处理集合等等。

3. 输出JSON格式的字符串最后,Jackson将JSON格式的字符串输出到指定的目标。

这个目标可以是一个文件、一个网络连接或者一个字符串缓冲区。

当我们使用ObjectMapper将JSON转换成Java对象时,Jackson 会执行相反的过程:1. 读取JSON字符串首先,Jackson会读取JSON字符串,这个字符串可以来自文件、网络连接或者一个字符串缓冲区。

2. 解析JSON字符串接下来,Jackson将JSON字符串解析成JsonNode对象。

这个过程通常称为反序列化。

Jackson使用一组规则来解析JSON格式的字符串,并构建JsonNode对象。

3. 将JsonNode对象转换为Java对象最后,Jackson将JsonNode对象转换为Java对象。

Java中net.sf.json包关于JSON与对象互转的坑

Java中net.sf.json包关于JSON与对象互转的坑

Java中net.sf.json包关于JSON与对象互转的坑 在Web开发过程中离不开数据的交互,这就需要规定交互数据的相关格式,以便数据在客户端与服务器之间进⾏传递。

数据的格式通常有2种:1、xml;2、JSON。

通常来说都是使⽤JSON来传递数据。

本⽂正是介绍在Java中JSON与对象之间互相转换时遇到的⼏个问题以及相关的建议。

⾸先明确对于JSON有两个概念:1. JSON对象(JavaScript Object Notation,JavaScript对象表⽰法)。

这看似只存是位JavaScript所定制的,但它作为⼀种语法是独⽴于语⾔以及平台的。

只是说通常情况下我们在客户端(浏览器)向服务器端传递数据时,使⽤的是JSON格式,⽽这个格式是⽤于表⽰JavaScript对象。

它是由⼀系列的“key-value”组成,如 {“id”: 1, “name”: “kevin”},这有点类似Map键值对的存储⽅式。

在Java中所述的JSON对象,实际是指的JSONObject类,这在各个第三⽅的JSONjar包中通常都以这个名字命名,不同jar包对其内部实现略有不同。

2. JSON字符串。

JSON对象和JSON字符串之间的转换是序列化与反序列化的过程,这就是好⽐Java对象的序列化与反序列化。

在⽹络中数据的传递是通过字符串,或者是⼆进制流等等进⾏的,也就是说在客户端(浏览器)需要将数据以JSON格式传递时,此时在⽹络中传递的是字符串,⽽服务器端在接收到数据后当然也是字符串(String类型),有时就需要将JSON字符串转换为JSON对象再做下⼀步操作(String类型转换为JSONObject类型)。

以上两个概念的明确就基本明确了JSON这种数据格式,或者也称之为JSON语法。

Java中对于JSON的jar包有许多,最最“常⽤”的是“net.sf.json”提供的jar包了,本⽂要着重说的就是这个坑包,虽然坑,却有着⼴泛的应⽤。

fastjson将java对象与json字符串相互转换

fastjson将java对象与json字符串相互转换

fastjson将java对象与json字符串相互转换1、pom.xml⽂件添加依赖<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.62</version></dependency>2、将对象转为json格式的字符串注意:JSONobject.toJSONString(object xx) 将对象转为json格式的字符串,使⽤fastjson序列化对象时,在序列化的时候,fastjson会先利⽤反射找到对象类的所有get⽅法,接下来去掉get前缀,然后⾸字母⼩写,作为json的每个key值,⽽get⽅法的返回值作为value。

添加到json中。

所以我们需要设置对象的set get⽅法错误代码:package com.testdemo;import com.alibaba.fastjson.JSONObject;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;public class FastJson1 {public static void main(String[] args) {Teacher t2 =new Teacher(20,"李四"); //将对象转为json字符串System.out.println(JSONObject.toJSONString(t2));}}@AllArgsConstructor@NoArgsConstructorclass Teacher{//年龄+姓名int age;String name;}===结果==={}正确代码:通过@Data注解⾃动实现set get⽅法public class FastJson1 {public static void main(String[] args) {Teacher t2 =new Teacher(20,"李四");System.out.println(JSONObject.toJSONString(t2));}}@Data@AllArgsConstructor@NoArgsConstructorclass Teacher{//年龄+姓名int age;String name;}==结果=== {"age":20,"name":"李四"}。

java对象与Json字符串之间的转化(fastjson)

java对象与Json字符串之间的转化(fastjson)

java对象与Json字符串之间的转化(fastjson)1. ⾸先引⼊jar包在pom.xml⽂件⾥加⼊下⾯依赖:<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.51</version></dependency>2. 创建⼀个Person类(⽅⾯下⾯使⽤)public class Person implements Comparable<Person> {private int age;private String name;public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getName() {return name;}public void setName(String name) { = name;}public Person(int age, String name) {super();this.age = age; = name;}}3. 实现java对象与Json字符串之间的转化public class Test {public static void main(String[] args) {// 实现java对象与Json字符串之间的转化// 1. Person对象与json之间的转换//1.1 将Person对象转成jsonPerson p = new Person(10, "张三");Object obj = JSONArray.toJSON(p);String json = obj.toString();System.out.println("将Person对象转成json:" + json);//1.2 将json字符串转成Person对象Person person = JSONArray.parseObject(json, Person.class);System.out.println("person.getName():" + person.getName());// 2. 将List<Person>与json之间的转换//2.1 将List<Person>转成jsonList<Person> personList = new ArrayList<>();personList.add(new Person(10, "张三"));personList.add(new Person(10, "李四"));personList.add(new Person(10, "王五"));Object obj2 = JSONArray.toJSON(personList);String json2 = obj2.toString();System.out.println("将List<Person>转成json:" + json2);// 2.2. 将json字符串转成List<Person>对象List<Person> list = JSONArray.parseArray(json2, Person.class);System.out.println("list.size():" + list.size());// 3. 将Map对象与json之间的转换// 3.1 将Map转成jsonMap<String, Person> map = new HashMap<>();map.put("1", new Person(10, "张三"));map.put("2", new Person(10, "李四"));map.put("3", new Person(10, "王五"));Object obj3 = JSONArray.toJSON(map);String json3 = obj3.toString();System.out.println("将Map<String,Person>转成json:" + json3);// 3.2. 将json转成Map对象Map<String, Object> map2 = JSONArray.parseObject(json3);Person person2 = JSONArray.parseObject(map2.get("1").toString(), Person.class);System.out.println("person2.getName():" + person2.getName());}}运⾏以上代码,打印结果为:将Person对象转成json:{"name":"张三","age":10}person.getName():张三将List<Person>转成json:[{"name":"张三","age":10},{"name":"李四","age":10},{"name":"王五","age":10}]list.size():3将Map<String,Person>转成json:{"1":{"name":"张三","age":10},"2":{"name":"李四","age":10},"3":{"name":"王五","age":10}} person2.getName():张三。

fastjson字符串转换总结

fastjson字符串转换总结

fastjson字符串转换总结fastjson是一个流行的Java JSON库,用于在Java对象和JSON字符串之间进行转换。

下面是关于fastjson字符串转换的总结:1. 将Java对象转换为JSON字符串:使用fastjson的toJSONString方法可以将Java对象转换为JSON字符串。

例如:```javaUser user = new User("John", 25);String json = JSON.toJSONString(user);```2. 将JSON字符串转换为Java对象:使用fastjson的parseObject方法可以将JSON字符串转换为Java对象。

例如: ```javaString json = "{\"name\":\"John\",\"age\":25}";User user = JSON.parseObject(json, User.class);```3. 处理复杂对象的转换:fastjson可以处理包含嵌套对象或集合的复杂Java对象。

例如,如果一个对象中包含另一个对象的引用,可以使用@JSONField注解进行标记,以指定对象之间的关联关系。

4. 处理日期格式:fastjson可以自动处理日期对象的序列化和反序列化。

可以使用@JSONField注解指定日期的格式。

例如:```java@JSONField(format = "yyyy-MM-dd HH:mm:ss")private Date createDate;```5. 处理特殊字符和转义:fastjson可以自动处理特殊字符和转义序列。

当遇到包含特殊字符的字符串时,fastjson会自动进行转义。

6. 处理null值:fastjson默认情况下会将Java对象中的null值序列化为JSON字符串中的null。

JSON的String字符串与Java的List列表对象的相互转换

JSON的String字符串与Java的List列表对象的相互转换

JSON的String字符串与Java的List列表对象的相互转换1.JSON的String字符串与Java的List列表对象的相互转换在前端:1.如果json是List对象转换的,可以直接遍历json,读取数据。

2.如果是需要把前端的List对象转换为json传到后台,param是ajax的参数,那么转换如下所⽰:var jsonStr = JSON.stringify(list);var param= {};param.jsonStr=jsonStr;在后台:import net.sf.json.JSONObject;import net.sf.json.JSONArray;1.把String转换为List(str转换为list)List<T> list = new ArrayList<T>();JSONArray jsonArray = JSONArray.fromObject(str);//把String转换为jsonlist = JSONArray.toList(jsonArray,t);//这⾥的t是Class<T>在这⾥,因为得到json字符串的时候⽤的是 JSONArray.fromObject(collenction),所有,在讲json字符串转换成json对象的时候,也只能⽤JSONArray.toCollection,并且,⼀定要带上后⾯的class参数。

2.把List转换为jsonJSONArray json = JSONArray.fromObject(object);String str = json.toString();//把json转换为String再如:Teacher类中,有三个属性。

private String teaId;private String teaName;private List<Student> stus;Teacher teacher_1 = new Teacher("编号1", "教师1", stus);JSONObject obj = JSONObject.fromObject(teacher_1);这⼀步,将Teacher 对象转换成json字符串的时候,没有任何的问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

转:JSON与JAVA数据的转换JSON-lib这个Java类包用于把bean,map和XML转换成JSON并能够把JSON转回成bea n和DynaBean。

下载地址:/还要需要的第3方包:mons(3.2以上版本)org.apache.oronet.sf.ezmorph(ezmorph-1.0.4.jar)nu.xom1、ListJava代码1.boolean[] boolArray = newboolean[]{true,false,true};2.JSONArray jsonArray1 = JSONArray.fromObject( boolArray );3.System.out.println( jsonArray1 );4.// prints [true,false,true]5.6.List list = new ArrayList();7.list.add( "first");8.list.add( "second");9.JSONArray jsonArray2 = JSONArray.fromObject( list );10.System.out.println( jsonArray2 );11.// prints ["first","second"]12.13.JSONArray jsonArray3 = JSONArray.fromObject( "['json','is','easy']");14.System.out.println( jsonArray3 );15.// prints ["json","is","easy"]2、MapJava代码1.Map map = new HashMap();2.map.put( "name", "json");3.map.put( "bool", Boolean.TRUE );4.5.map.put( "int", new Integer(1) );6.map.put( "arr", new String[]{"a","b"} );7.map.put( "func", "function(i){ return this.arr[i]; }");8.JSONObjectjson = JSONObject.fromObject( map );9.System.out.println( json );10.//{"func":function(i){ return this.arr[i]; },"arr":["a","b"],"int":1,"name":"json","bool":true}3、BEANJava代码1./**2.* Bean.java3.private String name = "json";4.private intpojoId = 1;5.private char[] options = new char[]{'a','f'};6.private String func1 = "function(i){ return this.options[i]; }";7.private JSONFunction func2 = new JSONFunction(new String[]{"i"},"return this.options[i];");8.*/9.JSONObjectjsonObject = JSONObject.fromObject( new JsonBean() );10.System.out.println( jsonObject );11.//{"func1":function(i){ return this.options[i]; },"pojoId":1,"name":"json","options":["a","f"],"func2":function(i){ return this.options[i]; }}4、BEANSJava代码1./**2.* private int row ;3.private int col ;4.private String value ;5.*6.*/7.List list = new ArrayList();8.JsonBean2 jb1 = new JsonBean2();9.jb1.setCol(1);10.jb1.setRow(1);11.jb1.setValue("xx");12.13.JsonBean2 jb2 = new JsonBean2();14.jb2.setCol(2);15.jb2.setRow(2);16.jb2.setValue("");17.18.19.list.add(jb1);20.list.add(jb2);21.22.JSONArrayja = JSONArray.fromObject(list);23.System.out.println( ja.toString() );24.//[{"value":"xx","row":1,"col":1},{"value":"","row":2,"col":2}]5、String to beanJava代码1.String json = "{name=\"json\",bool:true,int:1,double:2.2,func:function(a){ return a; },array:[1,2]}";2.JSONObjectjsonObject = JSONObject.fromString(json);3.Object bean = JSONObject.toBean( jsonObject );4.assertEquals( jsonObject.get( "name"), PropertyUtils.getProperty( bean,"name") );5.assertEquals( jsonObject.get( "bool"), PropertyUtils.getProperty( bean, "bool") );6.assertEquals( jsonObject.get( "int"), PropertyUtils.getProperty( bean, "int") );7.assertEquals( jsonObject.get( "double"), PropertyUtils.getProperty( bean,"double") );8.assertEquals( jsonObject.get( "func"), PropertyUtils.getProperty( bean, "func") );9.List expected = JSONArray.toList( jsonObject.getJSONArray( "array") );10.assertEquals( expected, (List) PropertyUtils.getProperty( bean, "array"));Java代码1.String json = "{\"value\":\"xx\",\"row\":1,\"col\":1}";2.JSONObjectjsonObject = JSONObject.fromString(json);3.JsonBean2 bean = (JsonBean2) JSONObject.toBean( jsonObject, JsonBean2.class);4.assertEquals( jsonObject.get( "col"),new Integer( bean.getCol()) );5.assertEquals( jsonObject.get( "row"), new Integer( bean.getRow() ) );6.assertEquals( jsonObject.get( "value"), bean.getValue() );6 json to xml1)JSONObjectjson = new JSONObject( true );String xml = XMLSerializer.write( json );<o class="object" null="true">2)JSONObjectjson = JSONObject.fromObject("{\"name\":\"json\",\"bool\":true,\"in t\":1}");String xml = XMLSerializer.write( json );<o class="object"><name type="string">json</name><bool type="boolean">true</bool><int type="number">1</int></o><o class="object"><name type="string">json</name><bool type="boolean">true</bool><int type="number">1</int></o>3)JSONArrayjson = JSONArray.fromObject("[1,2,3]"); String xml = XMLSerializer.write( json );<a class="array"><e type="number">1</e><e type="number">2</e><e type="number">3</e></a>7 、xml to json<a class="array"><e type="function" params="i,j">return matrix[i][j];</e></a><a class="array"><e type="function" params="i,j">return matrix[i][j];</e></a>JSONArrayjson = (JSONArray) XMLSerializer.read( xml ); System.out.println( json );// prints [function(i,j){ return matrix[i][j]; }]。

相关文档
最新文档