搜档网
当前位置:搜档网 › java对象与json对象的转换

java对象与json对象的转换

java对象与json对象的转换
java对象与json对象的转换

转:JSON与JAVA数据的转换

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

下载地址:https://www.sodocs.net/doc/112975626.html,/

还要需要的第3方包:

https://www.sodocs.net/doc/112975626.html,mons(3.2以上版本)

org.apache.oro

net.sf.ezmorph(ezmorph-1.0.4.jar)

nu.xom

1、List

Java代码

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、Map

Java代码

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、BEAN

Java代码

1./**

2.* Bean.java

3.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"},"retu

rn 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、BEANS

Java代码

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 bean

Java代码

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, "i

nt") );

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, JsonBe

an2.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 xml

1)

JSONObjectjson = new JSONObject( true );

String xml = XMLSerializer.write( json );

2)

JSONObjectjson = JSONObject.fromObject("{\"name\":\"json\",\"bool\":true,\"in t\":1}");

String xml = XMLSerializer.write( json );

json

true

1

json

true

1

3)

JSONArrayjson = JSONArray.fromObject("[1,2,3]"); String xml = XMLSerializer.write( json );

1

2

3

7 、xml to json

return matrix[i][j];

return matrix[i][j];

JSONArrayjson = (JSONArray) XMLSerializer.read( xml ); System.out.println( json );

// prints [function(i,j){ return matrix[i][j]; }]

【IT专家】在JAVA中封装JSONUtils工具类及使用 (转)

本文由我司收集整编,推荐下载,如有疑问,请与我司联系 在JAVA 中封装JSONUtils 工具类及使用(转) HashMap String, Object data = new HashMap String, Object (); JSONObject jsonObject = JSONUtils.toJSONObject(object); Iterator it = jsonObject.keys(); while (it.hasNext()) String key = String.valueOf(it.next()); Object value = jsonObject.get(key); data.put(key, value); return data; /*** * 将对象转换为List * @param object * @return // 返回非实体类型(Map)的List public static List Map String, Object toList(Object object) List Map String, Object list = new ArrayList Map String, Object (); JSONArray jsonArray = JSONArray.fromObject(object); for (Object obj : jsonArray) JSONObject jsonObject = (JSONObject) obj; Map String, Object map = new HashMap String, Object (); Iterator it = jsonObject.keys(); while (it.hasNext()) String key = (String) it.next(); Object value = jsonObject.get(key); map.put((String) key, value); list.add(map); return list; /*** * 将JSON 对象数组转换为传入类型的List * @param * @param jsonArray * @param objectClass * @return public static T List T toList(JSONArray jsonArray, Class T objectClass) return JSONArray.toList(jsonArray, objectClass); /*** * 将对象转换为传 入类型的List * @param * @param jsonArray * @param objectClass * @return public static T List T toList(Object object, Class T objectClass) JSONArray jsonArray = JSONArray.fromObject(object); return JSONArray.toList(jsonArray, objectClass); /*** * 将JSON 对象转换为传入类型的对象* @param * @param jsonObject * @param beanClass * @return public static T T toBean(JSONObject jsonObject, Class T beanClass) return (T) JSONObject.toBean(jsonObject, beanClass); /*** * 将将对象转换为传入类型 的对象* @param * @param object * @param beanClass * @return public static T T toBean(Object object, Class T beanClass) JSONObject jsonObject = JSONObject.fromObject(object); return (T) JSONObject.toBean(jsonObject, beanClass); /*** * 将JSON 文本反序列化为主从关系的实体* @param 泛型T 代表主实体类型 * @param 泛型D 代表从实体类型* @param jsonString JSON 文本* @param mainClass 主实体类型* @param detailName 从实体类在主实体类中的属性名称*

Java中json使用方法

Java中json使用方法 摘要:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python 等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(网络传输速率)。一、准备工作 json是个非常重要的数据结构,在web开发中应用十分广泛。我觉得每个人都应该好好的去研究一下json的底层实现,分析一下json的相关内容,希望大家能有所收获。首先给大家说一下使用json前的准备工作,需要准备下面的六个jar 包: 需要说明几点: (1)json-lib最新版本可以从这个地方下载:https://www.sodocs.net/doc/112975626.html,/projects/json-lib/files/json-lib/ (2)ezmorph是一个简单的java类库,用于将一种bean转换成另外一种bean。其动态bean的实现依赖于commons-beanutils包。ezmorph可以在这个地方下载源码:https://www.sodocs.net/doc/112975626.html,/projects/ezmorph/files/ezmorph/ (3)commons-beanutils是操作Java Bean的类库,依赖于commons-collections。可以从这里下载:https://www.sodocs.net/doc/112975626.html,/proper/commons-beanutils/download_beanutils.cgi (4)commons-collections类库是各种集合类和集合工具类的封装。可以从这里下载: https://www.sodocs.net/doc/112975626.html,/proper/commons-collections/download_collections.cgi 二、语法相关 JSON 语法规则 JSON 语法是JavaScript 对象表示法语法的子集。 数据在名称/值对中 数据由逗号分隔 花括号保存对象 方括号保存数组

java实现Post JSON请求

java实现Post JSON请求具体代码如下: package com.sunkey.httpTest; import java.io.DataOutputStream; import java.io.InputStream; import https://www.sodocs.net/doc/112975626.html,.URL; import https://www.sodocs.net/doc/112975626.html,.URLConnection; import https://www.sodocs.net/doc/112975626.html,mons.io.IOUtils; public class HttpPostJson { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String URL = "http://localhost:18090"; String Json = findXmlInfo(); Json = "{\"姓名\" : \"大憨\",\"年龄\" : 24}"; String postResult = doHttpPost(Json,URL); System.out.println("postResult:"+postResult); } private static String findXmlInfo() { // TODO Auto-generated method stub return null; } public static String doHttpPost(String xmlInfo,String URL){ System.out.println("发起的数据:"+xmlInfo); byte[] xmlData = xmlInfo.getBytes(); InputStream instr = null; java.io.ByteArrayOutputStream out = null; try{ URL url = new URL(URL); URLConnection urlCon = url.openConnection(); urlCon.setDoOutput(true);

java对象与json对象的转换

转:JSON与JAVA数据的转换 JSON-lib这个Java类包用于把bean,map和XML转换成JSON并能够把JSON转回成bea n和DynaBean。 下载地址:https://www.sodocs.net/doc/112975626.html,/ 还要需要的第3方包: https://www.sodocs.net/doc/112975626.html,mons(3.2以上版本) org.apache.oro net.sf.ezmorph(ezmorph-1.0.4.jar) nu.xom 1、List Java代码 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 );

java方式的将java对象以及list或者map转化为json数据

java方式的将java对象以及list或者map转化为json数据https://www.sodocs.net/doc/112975626.html, 学会了在j2ee中使用ajax后,有时候从服务器返回客户端的数据是对象,自己手动拼凑json字符串容易出错,通过谷歌知道了json-lib这个类库,方便的支持java中对象到json 字符串的转化。 看source-forge的json-lib介绍说,需要 jakarta commons-lang 2.4 jakarta commons-beanutils 1.7.0 jakarta commons-collections 3.2 jakarta commons-logging 1.1.1 ezmorph 1.0.6 这些jar包的支持,下载下来试了一把,挺好用的,写出来,与大家分享。 代码如下: import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class Test { public static void main(String[] args) { //当是对象的时候 Student student = new Student(); student.setAge(18); student.setName("zhangsan"); student.setSex("male"); JSONObject jsonObject = JSONObject.fromObject(student); System.out.println(jsonObject);//输出{"age":18,"name":"zhangsan","sex":"male"} //当是数组或list的时候 Student[] stus = new Student[5]; List stuList = new ArrayList(); for (int i = 0; i < stus.length; i++) {

Java学习笔记:JSONObject与JSONArray的使用

Java不像PHP解析和生产JSON总是一个比较痛苦的过程。但是使用JSONObject和JSONArray会让整个过程相对舒服一些。 需要依赖的包:commons-lang.jar commons-beanutils.jar commons-collections.jar commons-logging.jar ezmorph.jar json-lib-2.2.2-jdk15.jar 1. 创建一个JSONObject对象: package https://www.sodocs.net/doc/112975626.html,.video.resource.controller.web; import java.util.ArrayList; import java.util.HashMap; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class Test { public static void main(String[] args) { //JsonObject和JsonArray区别就是JsonObject是对象形式,JsonArray是数组形式 //创建JsonObject第一种方法 JSONObject jsonObject = new JSONObject(); jsonObject.put("UserName", "ZHULI"); jsonObject.put("age", "30"); jsonObject.put("workIn", "ALI"); System.out.println("jsonObject1:" + jsonObject); //创建JsonObject第二种方法 HashMap hashMap = new HashMap(); hashMap.put("UserName", "ZHULI"); hashMap.put("age", "30"); hashMap.put("workIn", "ALI"); System.out.println("jsonObject2:" + JSONObject.fromObject(hashMap)); //创建一个JsonArray方法1 JSONArray jsonArray = new JSONArray(); jsonArray.add(0, "ZHULI"); jsonArray.add(1, "30"); jsonArray.add(2, "ALI"); System.out.println("jsonArray1:" + jsonArray); //创建JsonArray方法2 ArrayList arrayList = new ArrayList();

Android中JSON详细总结

Android中JSON详细总结 1、JSON(JavaScript Object Notation) 定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其 提供了完整的解决方案(有点类似于正则表达式,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换。JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为。– https://www.sodocs.net/doc/112975626.html, 2、JSON的结构: (1) Name/Value Pairs(无序的):类似所熟知的Keyed list、 Hash table、Disctionary和Associative array。在Android平台中同时存在另外一个类 "Bundle",某种程度上具有相似的行为。 (2) Array(有序的):一组有序的数据列表。 对象 对象是一个无序的Name/Value Pairs集合。{name:value , name:value , name:value .... } 例子:{ "name":"小猪","age":20 } Array Array是值(value)的有序集合。[ value , value , value ...... ] 值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。 字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。例如:\ + " \ / b f n r t u 进行转义。

JSONObject简介

JSONObject简介 本节摘要:之前对JSON做了一次简单的介绍,并把JSON和XML做了一个简单的比较;那么,我就在想,如果是一个json格式的字符串传到后台,需要怎么对其处理?如果前台页面需要后台返回的是一个json的字符串,那么后台是怎么把json格式的字符串给拼装起来的呢?JSON和XML是不是有某种联系,他们之间是不是可以互相转换?……带着这些问题,搜索了相关的资料,并自己实际动手操作,总算对这些问题有了个比较清晰的认识。这些问题主要是通过JSONObject这个插件的jar包实现。 preparation 1.JSONObject介绍 JSONObject-lib包是一个beans,collections,maps,java arrays和xml和JSON互相转换的包。 2.下载jar包 https://www.sodocs.net/doc/112975626.html,/java-pan/lib.rar 提供了除JSONObject的jar之外依赖的其他6个jar包,一共7个jar文件 说明:因为工作中项目用到的版本是1.1的对应jdk1.3的版本,故本篇博客是基于1.1版本介绍的。 对应此版本的javadoc下载路径如下: https://www.sodocs.net/doc/112975626.html,/projects/json-lib/files/json-lib/json-lib-1.1/ 目前最新的版本为2.4,其他版本下载地址为 https://www.sodocs.net/doc/112975626.html,/projects/json-lib/files/json-lib/ 3.项目环境: system:WIN7 myeclipse:6.5 tomcat:5.0 JDK:开发环境和编译用的都是1.5 项目结构如下: 说明:本次用到的的文件只有工程目录json包下的JSONObject_1_3类和note.txt

JSON与JAVA数据的相互转换

一、将任意的javaBean对象转换为json字符串: Object obj=XXX;//任意一个javabean的对象都可以,但是这个javaBean必须是公开的,否则会报找不到get方法。 JSONObject jo=JSONObject.fromObject(obj); System.out.println(jo.toString()); 如果你的obj知道具体类型的话,还[可以使用JSONArray等对象来转换。其方法也类似。 二、将json字符串转换为javaBean对象: String str="json字符串对象"; JSONObject jo=JSONObject.fromObject(obj); T t=(T)JSONObject.toBean(jo,T.class); XXXX 实例: 简单的测试代码: import java.util.List; import net.sf.json.JSONObject; public class Test { public static void main(String[] args) throws Exception { JSONObject jo = JSONObject.fromObject(new T()); String str = (jo.toString()); System.out.println(str); JSONObject jo2 = JSONObject.fromObject(str); T t = (T) JSONObject.toBean(jo2, T.class); List lists2 = (t.getTest2()); for (Object t2 : lists2) {//这里的Object如果直接写成T2的话,会出错的,原因是JSON 转换后的lists2对象因为它不知道类型,就解析成JSON里的某种格式了,我们需要再调用相同的方法将其转成我们所知的JavaBean System.out.println(((T3) JSONObject.toBean(JSONObject.fromObject(t2), T3.class)).getAaa()); } List l3 = t.getListString(); for (String s : l3) { System.out.println(s);

【个人总结系列-24】JSON学习总结及CJson代码分析

JSON学子总结及CJson代码分析 “JSON”的全称是“JavaScript Object Notation”,即JavaScript对象符号,是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。JSON 采用与编程语言无关的文本格式,但是也使用了类C语言(包括C、C++、C#、Java、JavaScript、Python等)的习惯,这些特性使JSON成为理想的数据交换格式。 JSON建构于两种结构: (1)“名称/值”对的集合。不同的语言中,其被理解为对象(“object”)、纪录(“record”)、结构(“struct”)、字典(“dictionary”)、哈希表(“hash table”)、有键列表(“keyed list”)或者关联数组(“associative array”)。 (2)值的有序列表。在大部分语言中,其被理解为数组(“array”)。 简单理解,JSON的定义由以下四句话就全部定义了。 ●并列的数据之间用逗号(”,”)分隔。 ●映射用冒号(”:”)表示。 ●并列数据的集合(数组)用方括号("[]")表示。 ●映射的集合(对象)用大括号(”{}”)表示。 对JSON的解析 主要学习了通过一个简短的开源的C语言代码cJson对JSON格式数据进行解析。cJson的代码很简短,全部只有20KB左右,主要包含了解析、构造、编辑JSON 数据,这些功能主要通过其自定义的cJSON数据结构。cJSON数据结构对JSON 格式数据进行了描述,并通过程序提供了许多操作,cJSON数据结构定义如下所示:

Json对象的类型 以下通过下面的JSON格式数据为例分析cJson中的基本函数,数据在C语言中表示如下: char* value = "[{\"name\":\"鸟巢\",\"point\":{\"lat\":\"39.990\",\"lng\":\"116.397\"},\"desc\":\"奥运会主场地\"},{\"name\":\"北大乒乓球馆\",\"point\":{\"lat\":\"39.988\",\"lng\":\"116.315\"},\"desc\":\"乒乓球比赛场地\"},{\"name\":\"北京工人体育场\",\"point\":{\"lat\":\"39.930\",\"lng\":\"116.446\"},\"desc\":\"足球比赛场地\"}]"

json数据解析

这个方法是参考 https://www.sodocs.net/doc/112975626.html,/networking-database-problems-f29/connecting-to-mysql-database-t50063.html 国外老外的一些经验所得。这里我总结一下要点: 1、需要一个mysql数据库,这个怎么搞出来,大家觉得有问题先学学mysql再回来接着看。 2、需要一个php操作mysql数据库的脚本,上传到服务器地址 3、需要修改Android的manifest文件,入网许可!! 一、首先我们假如已经把MYSQL数据库建立好了,写一个PHP操作文件上传到服务器访问地址 [php]view plaincopyprint? 1 稍微解析一下上面PHP内容, [php]view plaincopyprint? 10$q=mysql_query("SELECT * FROM user_info WHERE uName ='".$_REQUEST['name']."'"); 这句当中 [php]view plaincopyprint? 11.$_REQUEST['name']. 就表示要从android里面输入到这里的一个键值对的值,id为name,下面我们 写Android程序会再说明一下。 [php]view plaincopyprint?

java生成xml报文及转成json

package test.xml; import java.io.StringReader; import java.io.StringWriter; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Set; import org.dom4j.Document; import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; import net.sf.json.JSON; import net.sf.json.xml.XMLSerializer; public class XmlTest { private final static String XML_DECLARATION = "

encoding=\"utf-8\"?>"; public static String callMapToXML(Map map) { String resultStr = ""; StringBuffersb = new StringBuffer(); sb.append(XML_DECLARATION); mapToXMLTest2(map, sb); //格式化输出 resultStr = formatXML(sb.toString()); return resultStr; } private static void mapToXMLTest2(Map map, StringBuffersb) { Set set = map.keySet(); for (Iterator it = set.iterator(); it.hasNext();) { String key = (String) it.next(); Object value = map.get(key); if (null == value) value = ""; if (value.getClass().getName().equals("java.util.ArrayList")) { ArrayList list = (ArrayList) map.get(key); sb.append("<" + key + ">");

java封装(拼接)json 对象

今天在项目中需要用到使用java代码,拼成json的list对象,小研究一下,写出来分享给大家: 方法一: if (CollectionUtil.isNotEmpty(userModelList)) { List list = new ArrayList(); Map o = new HashMap(); for (UserModel userModel : userModelList) { Map map =new HashMap(); map.put("id",userModel.getUser_id_site()); map.put("name",userModel.getUser_nike_name()); map.put("image",userModel.getUser_image_big()); JSONObject jsonobj = JSONObject.fromObject(map); list.add(jsonobj); } Map oo = new HashMap(); oo.put("users",list.toArray()); Map status = new HashMap(); oo.put("status","ok");

JSONObject jsonobj = JSONObject.fromObject(oo); jsonobj.putAll(status); o.put("jsonp", jsonobj); System.out.println(o.toString()); return o.toString(); } //////////结果类似这样: {jsonp={"users":[{"id":"1","name":"客服NO1","image":null},{"id":"asfdafasd","name":"sdaf","image":"sadfas "},{"id":"asfdafasd","name":"sdaf","image":"sadfas"}],"status":"ok"} } 你也可以继续嵌套构造多级 方法2 直接使用string拼接 先new一个list,下边是部分代码

java递归无级树输出json格式

java递归无级树输出json格式 由于项目需要将数据库中的一个层级表转换成json格式输出,在网上找了很久都没有找开合适的内容,要不是代码太复杂,就是不符合需求,所以就自己用递归写了一个无级树的代码。代码很简单就两个类一个TreeNode.java 和一个测试类Test.java(可直接运行) 在运行之前需要以下公共类: commons-beanutils.jar commons-collections.jar commons-lang.jar commons-logging.jar ezmorph-1.0.6.jar json-lib-2.3-jdk15.jar 直接贴代码:TreeNode.java package com.test; import java.util.ArrayList; public class TreeNode { private String id; private String pid; private String name; private String remark; private ArrayList children = new ArrayList(); public TreeNode(String id, String pid, String name, String remark) { this.id = id; this.pid = pid; https://www.sodocs.net/doc/112975626.html, = name; this.remark = remark; } public void add(TreeNode node) {//递归添加节点 if ("0".equals(node.pid)) { this.children.add(node); } else if (node.pid.equals(this.id)) { this.children.add(node); } else { for (TreeNode tmp_node : children) { tmp_node.add(node); } } } public String getId() { return id; } public void setId(String id) { this.id = id; }

java生成json对象总结

Json必备包 commons-beanutils-1.7.0.jar不加这个包 https://www.sodocs.net/doc/112975626.html,ng.NoClassDefFoundError: org/apache/commons/beanutils/DynaBean commons-collections-3.2.jar 不加这个包 https://www.sodocs.net/doc/112975626.html,ng.NoClassDefFoundError: org/apache/commons/collections/map/ListOrderedMap commons-lang-2.3.jar不加这个包 https://www.sodocs.net/doc/112975626.html,ng.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException commons-logging-1.0.4.jar不加这个包 https://www.sodocs.net/doc/112975626.html,ng.NoClassDefFoundError: org/apache/commons/logging/LogFactory ezmorph-1.0.6.jar不加这个包 https://www.sodocs.net/doc/112975626.html,ng.NoClassDefFoundError: net/sf/ezmorph/Morpher (本人亲测,没有这个包,myeclipse不抛异常,跟踪执行到JSONObjectjsonObj = JSONObject.fromObject(jsonMap);这段代码就中断了,其以后的代码也不执行了,确实没有像网上说的不抛异常) json-lib-2.1-jdk15.jar不加这个包 https://www.sodocs.net/doc/112975626.html,ng.NoClassDefFoundError: net/sf/json/JSONObject Java中转换为Json对象的例子 import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import net.sf.json.JSONArray; import net.sf.json.JSONObject; publicclass JsonUtil { publicvoid listToJson() { ListjsonList = new ArrayList(); jsonList.add("nihao"); jsonList.add("hello"); jsonList.add("haha"); jsonList.add("heihei"); JSONArrayjsonArray = JSONArray.fromObject(jsonList);

JSON两种结构之对象和数组的理解

这篇文章主要介绍了JSON两种结构之对象和数组的理解的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下 JSON简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript 的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。 Json是一种异常简单易懂的数据格式,关于json的规定,仅仅如下而已: 1)并列的数据之间用逗号(", ")分隔。 2)映射用冒号(": ")表示。 3)并列数据的集合(数组)用方括号("[]")表示。 4)映射的集合(对象)用大括号("{}")表示。 JSON有两种结构数组和对象:数组表示有序数据的集合,而对象表示无序数据的集合。 看下面例子: $arr = array(111,'aaa','bbb'); $arr1 = array( 'a' => 'aaa', 'b' => 222 ); $arr2 = array( 'a' => 'aaa', 'other' => array( 'bbb',1111 ) ); echo json_encode($arr); //[111,"aaa","bbb"] echo json_encode($arr1); //{"a":"aaa","b":222} echo json_encode($arr2); //{"a":"aaa","other":["bbb",1111]} 从上看出:由于javascript不支持关联数组,所以json_encode()只将索引数组(indexed array)转为数组格式,而将关联数组(associative array)转为对象格式。 关于PHP对json支持说明: json_encode只支持UTF-8编码的数据; json_decode永远只反映一个PHP对象,带上第二个参数true可返回数组: $json = '{"a":"aaa","other":["bbb",1111]}'; print_r(json_decode($json)); print_r(json_decode($json, true)); 以上所述是小编给大家介绍的JSON两种结构之对象和数组的理解,希望对大家有所帮助

GSON形式生成和解析json数据

GSON方式生成和解析json数据 客户端与服务器进行数据交互时,常常需要将数据在服务器端将数据转化成字符串并在客户端对json数据进行解析生成对象。但是用jsonObject和jsonArray解析相对麻烦。利用Gson 和阿里的fastjson可以很方便的将下面四种常用的数据转换成json字符串,并能够将其解析成原数据对象。 类型一:JavaBean 类型二:List 类型三:List 类型四:List> 一.Gson将上面的四种数据对象转换成json字符串的方法都是一样的 Gson gson = new Gson(); String jsonString = gson.toJson(obj); 二.Gson将json字符串转化成JavaBean对象 1.类型一:JavaBean Person person = new Person("香港","刘德华",1001); Gson gson = new Gson(); //这里将javabean转化成json字符串 String jsonString = gson.toJson(person); System.out.println(jsonString); //这里将json字符串转化成javabean对象, person = gson.fromJson(jsonString,Person.class); 2.类型二:List 将json字符串转化成List对象 Person person1 = new Person("香港","刘德华",1001); Person person2 = new Person("韩国","宋慧乔",1002); List persons = new ArrayList(); persons.add(person1); persons.add(person2); Gson gson = new Gson(); //这里将lsit转化成json字符串 String jsonString = gson.toJson(persons); //解析json字符串 List persons2 = gson.fromJson(jsonString, new TypeToken>(){}.getType()); 3.类型三:List 将json字符串转化成List对象 List list = new ArrayList();

JS和JAVA使用JSON方法解析

JS和JAVA使用JSON方法解析 一.JS部分================== 将json字符串转换为json对象的方法。在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。 例如: JSON字符串: [javascript] view plain copy 在CODE上查看代码片派生到我的代码片 var str1 = '{ "name": "cxh", "sex": "man" }'; JSON对象: [javascript] view plain copy 在CODE上查看代码片派生到我的代码片 var str2 = { "name": "cxh", "sex": "man" }; 一、JSON字符串转换为JSON对象 要使用上面的str1,必须使用下面的方法先转化为JSON对象: [javascript] view plain copy 在CODE上查看代码片派生到我的代码片 //由JSON字符串转换为JSON对象 var obj = eval('(' + str + ')'); 或者 [javascript] view plain copy 在CODE上查看代码片派生到我的代码片 //由JSON字符串转换为JSON对象 var obj = str.parseJSON(); 或者 [javascript] view plain copy 在CODE上查看代码片派生到我的代码片 //由JSON字符串转换为JSON对象 var obj = JSON.parse(str); 然后,就可以这样读取: [javascript] view plain copy 在CODE上查看代码片派生到我的代码片 Alert(https://www.sodocs.net/doc/112975626.html,); Alert(obj.sex); 特别注意:如果obj本来就是一个JSON对象,那么使用eval()函数转换后(哪怕是多次转换)还是JSON对象,但是使用parseJSON()函数处理后会有问题(抛出语法异常)。 二、可以使用toJSONString()或者全局方法JSON.stringify()将JSON对象转化为JSON字符串。 例如: [javascript] view plain copy 在CODE上查看代码片派生到我的代码片 //将JSON对象转化为JSON字符 var last=obj.toJSONString(); 或者 [javascript] view plain copy 在CODE上查看代码片派生到我的代码片 //将JSON对象转化为JSON字符 var last=JSON.stringify(obj); alert(last);