json对象、json格式字符串、java对象【使用此net.sf.json.JSONObject将java对象[比如数组集合Map、Map扩展]转换成json格式字符串】
2015-09-24 15:04
1346 查看
文章一:
java代码中使用json需要导入的jar包_Json
http://greenboy1.iteye.com/blog/1046125[里面有不导入7个包会发生的错误]
文章二:
json-lib.....jar包jsonObject介绍
http://blog.csdn.net/xingtianyiyun/article/details/7604629【里面有比较net.sf.json.JSONObject和 com.google.gson.Gson的区别以及如何将java对象如对象、数组和集合、Map、Map扩展转换成json格式字字符串】
===================================================================================================================
小结:
import com.google.gson.Gson;【要把java对象转换成json格式字符串,推荐使用这个,比较方便,而且只需要一个jar包】
Gson gson = new Gson();
System.out.println(gson.toJson(person));
import net.sf.json.JSONObject;这个可以依据key从json对象中获取value【这个需要7个jar包】------------这个功能更强大一些
JSONObject jobj=JSONObject.fromObject(result.toString());
String urlStr=JSONObject.fromObject(jobj.get("result").toString()).get("url").toString();
===================================================================================================================
1.用json-lib生成json
要用到的jar包:commons-beanutils-1.8.3.jar, commons-collections-3.2.1.jar, commons-lang-2.4.jar, commons-logging-1.1.1.jar,
ezmorph-1.0.6.jar, json-lib-2.3-jdk15.jar
Java代码
//1.对象
package com.hx.test;
import com.hx.entity.Person;
import net.sf.json.JSONObject;
public class JsonTest {
public static void main(String[] args) {
Person person = new Person();
person.setName("tom");
person.setAddress("UK");
person.setAge(14);
JSONObject json = JSONObject.fromObject(person);
System.out.println(json.toString());
}
}
//输出结果为:
//{"address":"UK","age":14,"name":"tom"}
//2.数组和集合
package com.hx.test;
import java.util.ArrayList;
import java.util.List;
import net.sf.json.JSONArray;
public class JsonTest {
public static void main(String[] args) {
List<String> fruit = new ArrayList<String>();
fruit.add("apple");
fruit.add("pear");
fruit.add("orange");
fruit.add("banana");
JSONArray fruits = JSONArray.fromObject(fruit);
System.out.println(fruits.toString());
}
}
//输出结果:
//["apple","pear","orange","banana"]
//2)Map集合
//Map集合比较特殊,因为 key-value键值对的对应方式,所以咱们应当用JSONObject来生成json。
package com.hx.test;
import java.util.HashMap;
import java.util.Map;
import net.sf.json.JSONObject;
public class JsonTest {
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("001", "apple");
map.put("002", "pear");
map.put("003", "orange");
map.put("004", "banana");
JSONObject json = JSONObject.fromObject(map);
System.out.println(json.toString());
}
}
//输出结果:
//{"004":"banana","001":"apple","002":"pear","003":"orange"}
//3) Map集合扩展
package com.hx.test;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONObject;
public class JsonTest {
public static void main(String[] args) {
Map<String, List<String>> map = new HashMap<String, List<String>>();
List<String> strList1 = new ArrayList<String>();
strList1.add("aa");
strList1.add("bb");
strList1.add("cc");
List<String> strList2 = new ArrayList<String>();
strList2.add("dd");
strList2.add("ee");
strList2.add("ff");
List<String> strList3 = new ArrayList<String>();
strList3.add("gg");
strList3.add("hh");
strList3.add("ii");
map.put("001", strList1);
map.put("002", strList2);
map.put("003", strList3);
JSONObject json = JSONObject.fromObject(map);
System.out.println(json.toString());
}
}
//输出结果:
//{"001":["aa","bb","cc"],"002":["dd","ee","ff"],"003":["gg","hh","ii"]}
/*
和json-lib相比,Gson操作就相当的更简单了
不管是对象还是数组,还是上面较复杂的map集合,
操作都是一样的,Gson是出自google,应为比较小巧,所以其自己系统android上面用的也 是这个。
*/
//因为操作都一样,所以在这里只给大家演示一种情况。
//别忘了导jar包:gson-2.1.jar
package com.hx.test;
import com.google.gson.Gson;
import com.hx.entity.Person;
public class GsonTest {
public static void main(String[] args) {
Person person = new Person();
person.setAddress("UK");
person.setAge(14);
person.setName("tom");
Gson gson = new Gson();
System.out.println(gson.toJson(person));
}
}
//输出结果:
//{"name":"tom","age":14,"address":"UK"}
========================================================================================================================
json-lib-2.3-jdk15.jar
commons-beanutils-1.7.0.jar
commons-httpclient-3.1.jar
commons-lang-2.3.jar
commons-logging-1.0.4.jar
commons-collections-3.1.jar
ezmorph-1.0.3.jar
这些包可以从一下地方下载:
http://commons.apache.org/index.html http://json-lib.sourceforge.net/ http://ezmorph.sourceforge.net/ http://www.docjar.com/
如果不关联这些包,则会出现以下错误:
java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher
java.lang.NoClassDefFoundError: org/apache/commons/collections/map/ListOrderedMap
java.lang.NoClassDefFoundError: org/apache/commons/beanutils/DynaBean
java.lang.NoClassDefFoundError: org/apache/commons/codec/DecoderException
java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
java代码中使用json需要导入的jar包_Json
http://greenboy1.iteye.com/blog/1046125[里面有不导入7个包会发生的错误]
文章二:
json-lib.....jar包jsonObject介绍
http://blog.csdn.net/xingtianyiyun/article/details/7604629【里面有比较net.sf.json.JSONObject和 com.google.gson.Gson的区别以及如何将java对象如对象、数组和集合、Map、Map扩展转换成json格式字字符串】
===================================================================================================================
小结:
import com.google.gson.Gson;【要把java对象转换成json格式字符串,推荐使用这个,比较方便,而且只需要一个jar包】
Gson gson = new Gson();
System.out.println(gson.toJson(person));
import net.sf.json.JSONObject;这个可以依据key从json对象中获取value【这个需要7个jar包】------------这个功能更强大一些
JSONObject jobj=JSONObject.fromObject(result.toString());
String urlStr=JSONObject.fromObject(jobj.get("result").toString()).get("url").toString();
===================================================================================================================
1.用json-lib生成json
要用到的jar包:commons-beanutils-1.8.3.jar, commons-collections-3.2.1.jar, commons-lang-2.4.jar, commons-logging-1.1.1.jar,
ezmorph-1.0.6.jar, json-lib-2.3-jdk15.jar
Java代码
//1.对象
package com.hx.test;
import com.hx.entity.Person;
import net.sf.json.JSONObject;
public class JsonTest {
public static void main(String[] args) {
Person person = new Person();
person.setName("tom");
person.setAddress("UK");
person.setAge(14);
JSONObject json = JSONObject.fromObject(person);
System.out.println(json.toString());
}
}
//输出结果为:
//{"address":"UK","age":14,"name":"tom"}
//2.数组和集合
package com.hx.test;
import java.util.ArrayList;
import java.util.List;
import net.sf.json.JSONArray;
public class JsonTest {
public static void main(String[] args) {
List<String> fruit = new ArrayList<String>();
fruit.add("apple");
fruit.add("pear");
fruit.add("orange");
fruit.add("banana");
JSONArray fruits = JSONArray.fromObject(fruit);
System.out.println(fruits.toString());
}
}
//输出结果:
//["apple","pear","orange","banana"]
//2)Map集合
//Map集合比较特殊,因为 key-value键值对的对应方式,所以咱们应当用JSONObject来生成json。
package com.hx.test;
import java.util.HashMap;
import java.util.Map;
import net.sf.json.JSONObject;
public class JsonTest {
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("001", "apple");
map.put("002", "pear");
map.put("003", "orange");
map.put("004", "banana");
JSONObject json = JSONObject.fromObject(map);
System.out.println(json.toString());
}
}
//输出结果:
//{"004":"banana","001":"apple","002":"pear","003":"orange"}
//3) Map集合扩展
package com.hx.test;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONObject;
public class JsonTest {
public static void main(String[] args) {
Map<String, List<String>> map = new HashMap<String, List<String>>();
List<String> strList1 = new ArrayList<String>();
strList1.add("aa");
strList1.add("bb");
strList1.add("cc");
List<String> strList2 = new ArrayList<String>();
strList2.add("dd");
strList2.add("ee");
strList2.add("ff");
List<String> strList3 = new ArrayList<String>();
strList3.add("gg");
strList3.add("hh");
strList3.add("ii");
map.put("001", strList1);
map.put("002", strList2);
map.put("003", strList3);
JSONObject json = JSONObject.fromObject(map);
System.out.println(json.toString());
}
}
//输出结果:
//{"001":["aa","bb","cc"],"002":["dd","ee","ff"],"003":["gg","hh","ii"]}
/*
和json-lib相比,Gson操作就相当的更简单了
不管是对象还是数组,还是上面较复杂的map集合,
操作都是一样的,Gson是出自google,应为比较小巧,所以其自己系统android上面用的也 是这个。
*/
//因为操作都一样,所以在这里只给大家演示一种情况。
//别忘了导jar包:gson-2.1.jar
package com.hx.test;
import com.google.gson.Gson;
import com.hx.entity.Person;
public class GsonTest {
public static void main(String[] args) {
Person person = new Person();
person.setAddress("UK");
person.setAge(14);
person.setName("tom");
Gson gson = new Gson();
System.out.println(gson.toJson(person));
}
}
//输出结果:
//{"name":"tom","age":14,"address":"UK"}
========================================================================================================================
json-lib-2.3-jdk15.jar
commons-beanutils-1.7.0.jar
commons-httpclient-3.1.jar
commons-lang-2.3.jar
commons-logging-1.0.4.jar
commons-collections-3.1.jar
ezmorph-1.0.3.jar
这些包可以从一下地方下载:
http://commons.apache.org/index.html http://json-lib.sourceforge.net/ http://ezmorph.sourceforge.net/ http://www.docjar.com/
如果不关联这些包,则会出现以下错误:
java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher
java.lang.NoClassDefFoundError: org/apache/commons/collections/map/ListOrderedMap
java.lang.NoClassDefFoundError: org/apache/commons/beanutils/DynaBean
java.lang.NoClassDefFoundError: org/apache/commons/codec/DecoderException
java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
相关文章推荐
- 【IOS 开发学习总结-OC-16】★★objective-c面向对象之——类的继承
- Objective-C: 字符串NSString与NSMutableString
- org.json.JSONObject的optXXX方法
- Objective-C中把数组中字典中的数据转换成URL
- Objective-C中把URL请求的参数转换为字典
- Object有哪些公用方法?
- objective-c 学习笔记一
- Objective-C基础语法(二)
- Objective-C 学习笔记 12 预处理程序
- 【IOS 开发学习总结-OC-15】objective-c面向对象之——对象初始化
- POJ 3241 曼哈顿距离最小生成树 Object Clustering
- Objective-C基础语法(一)
- Objective-C---2---初始化、便利构造器
- SpannableStringBuilder连续调用setSpan时参数Object what不能使用同一个引用
- Object-C 字符串截取、匹配、分割
- 深入分析iOS问题-performSelector:onThread:withObject:waitUntilDone
- Copy vs Retain in Objective C
- Objective-C之property属性分析
- Objective-C type encodings
- struts2 Map<String,Object>session心得 浅析