下载
json-lib依赖包:
- commons-beanutils-1.8.0.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
- xom-1.2.2.jar
java转json
通常用可以用两个不同的类可以完成转换:JSONObject,JSONSerializer
public class Address {
private String street;// 街道
private String city;// 城市
private int zip;// 邮编
private String tel;// 第一个电话号码
private String telTwo;// 第二个电话号码
public Address() {
}
public Address(String street, String city, int zip, String tel,
String telTwo) {
this.street = street;
this.city = city;
this.zip = zip;
this.tel = tel;
this.telTwo = telTwo;
}
public String getStreet() {
return street;
}
public void setStreet(String street) {
this.street = street;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public int getZip() {
return zip;
}
public void setZip(int zip) {
this.zip = zip;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public String getTelTwo() {
return telTwo;
}
public void setTelTwo(String telTwo) {
this.telTwo = telTwo;
}
}
//处用JSONObject从java转换json
public class JSONObjectTest extends TestCase {
public void testDate2Json() {
JSONObject jsonObj = JSONObject.fromObject(new Date());
System.out.println(jsonObj.toString());
}
public void testArray2Json() {
JSONArray jarray = JSONArray.fromObject(new String[][] {
{ "one", "two" }, { "three", "four" } });
System.out.println(jarray.toString());
JSONArray arr = JSONArray.fromObject(jarray.toString());
System.out.println(((JSONArray) arr.get(1)).get(0));
}
public void testList2Json() {
List list = new ArrayList();
list.add(new Integer(1));
list.add(new Boolean(true));
list.add(new Character('j'));
list.add(new char[] { 'j', 's', 'o', 'n' });
list.add(null);
list.add("json");
list.add(new String[] { "json", "-", "lib" });
list.add(new JSONFunction(new String[] { "i" }, "alert(i)"));
list.add(new Address("P.O BOX 54534", "Seattle, WA", 42452,
"561-832-3180", "531-133-9098"));
JSONArray arr=JSONArray.fromObject(list);
System.out.println(arr.toString(4));
arr=JSONArray.fromObject(list);
System.out.println(((JSONArray)arr.get(6)).get(0));
System.out.println(((JSONObject)arr.get(8)).get("city"));
}
public void testMap2json(){
Mapmap=newLinkedHashMap();
map.put("integer",newInteger(1));
map.put("boolean",newBoolean(true));
map.put("char",newCharacter('j')); map.put("charArr",newchar[]{'j','s','o','n'});
JSONObjectobj=JSONObject.fromObject(map);
System.out.println(obj.get("integer");
}
public void testBean2Json(){
Addressbean=newAddress();
//设置bean的属性
JSONObject obj=JSONObject.fromObject(bean);
bean=(Bean) obj.toBean(obj, Bean.class);
System.out.println(bean);
}
}
//JSONObject 可以完成除了数组与Map的的转换,JSONArray可以完成数组,List,Set的转换。
}
//利用JSONSerialize 从java转换JSON
public class JSONSerializerTest extends TestCase {
public void testArraytoJson() {
String str = "{'string':'JSON', 'integer': 1, 'double': 2.0, 'boolean': true}";
JSONObject obj = (JSONObject) JSONSerializer.toJSON(str);
System.out.println(obj.get("string"));
}
public void testMaptoJson() {
Map map = new HashMap();
map.put("string", "JSON");
map.put("integer", "1");
map.put("double", "2.0");
map.put("boolean", "true");
JSONObject obj = (JSONObject) JSONSerializer.toJSON(map);
System.out.println(obj.getString("string"));
System.out.println(obj.getInt("integer"));
}
public void testBeantoJson() {
MyJavaBean bean = new MyJavaBean();
bean.setString("JSON");
bean.setInteger(1);
bean.setDooble(2.0d);
bean.setBool(true);
JSONObject obj = (JSONObject) JSONSerializer.toJSON(bean);
System.out.println(obj.getString("string"));
}
public void testCollectiontoJsonArray(){
Object[] array = new Object[]{ "JSON", "1", "2.0", "true" };
JSONArray arr=(JSONArray) JSONSerializer.toJSON(array);
List list=new ArrayList();
list.add("JSON");
list.add("1");
JSONArray arr1=(JSONArray)JSONSerializer.toJSON(list);
System.out.println(arr.getString(0));
System.out.println(arr1.getString(0));
}
public void testbeantoJson(){
MyJavaBean bean = new MyJavaBean();
bean.setString( "JSON" );
bean.setInteger( 1 );
bean.setDooble( 2.0d );
bean.setBool( true );
JSONObject obj=(JSONObject) JSONSerializer.toJSON(bean);
System.out.println(obj.getString("bool"));
}
}
从json转换java主要用JSONSerializer
public class Json2java extends TestCase {
public void testJSONtoBean() {
MyJavaBean bean = new MyJavaBean();
bean.setString("JSON");
bean.setInteger(1);
bean.setDooble(2.0d);
bean.setBool(true);
JSONObject obj=(JSONObject) JSONSerializer.toJSON(bean);
JsonConfig conf=new JsonConfig();
conf.setRootClass(MyJavaBean.class);
MyJavaBean bean1=(MyJavaBean)JSONSerializer.toJava(obj,conf);
System.out.println(bean1.getDooble());
}
public void testjsontoList(){
List input = new ArrayList();
input.add( "JSON" );
input.add( "1" );
input.add( "2.0" );
input.add( "true" );
JSONArray obj=(JSONArray) JSONSerializer.toJSON(input);
List list=(List)JSONSerializer.toJava(obj);
System.out.println(list.get(0));
}
public void testjsontoarray(){
List input = new ArrayList();
input.add( "JSON" );
input.add( "1" );
input.add( "2.0" );
input.add( "true" );
JSONArray jsonarry=(JSONArray) JSONSerializer.toJSON(input);
JsonConfig conf=new JsonConfig();
conf.setArrayMode(JsonConfig.MODE_OBJECT_ARRAY);
Object[] list=(Object[])JSONSerializer.toJava(jsonarry,conf);
System.out.println(list[0]);
}
public void testjsontoMap(){
Map map = new HashMap();
map.put("string", "JSON");
map.put("integer", "1");
map.put("double", "2.0");
map.put("boolean", "true");
JSONObject obj=JSONObject.fromObject(map);
Map m=(Map)JSONObject.toBean(obj,Map.class);
System.out.println(m.get("string"));
}
}
分享到:
相关推荐
本文将详细介绍如何在Java中实现JSON与`List<Map>`以及`Map`之间的互换,以及如何打包成jar文件进行部署。 1. **Map转JSON** 要将一个`Map`对象转换为JSON格式,可以使用诸如`org.json`库或`com.google.gson`库。...
本文将深入探讨如何在不依赖第三方库的情况下,实现JSON与Java对象(如Map、List)之间的互换。我们将分析标题提及的两个Java类——`jsonobject.java`和`JsonUtil.java`。 首先,`JsonUtil.java`很可能是这个功能的...
2. **JSON数组与Java集合的互换** - JSON包还提供`JSONArray`类,用于处理JSON数组。你可以使用`JSONArray`将Java List或Array转换为JSON格式,也可以将JSON数组反序列化为Java集合。`JSONArray`类提供了`toArray()...
Java JSON.jar.zip是一个压缩包,其中包含了一个名为`java-json.jar`的Java库,这个库主要功能是处理XML和JSON之间的转换。XML(Extensible Markup Language)和JSON(JavaScript Object Notation)是两种广泛用于...
4. **序列化与反序列化**: josn-lib提供了解决Java对象和JSON之间的互换。例如,你可以将一个Java对象转换为JSON字符串,然后再将该字符串还原为Java对象: ```java // 序列化 ObjectMapper mapper = new ...
本文将深入探讨Java对JSON的一系列操作,包括如何构建JSON对象,以及如何进行JSON与Java对象之间的转换。 一、JSON对象构建 1. JSON基本类型:JSON主要包含两种基本类型,对象(Object)和数组(Array)。对象以大...
通过JSON库,如net.sf.json,我们可以方便地在Java对象和JSON字符串间进行互换,从而实现数据的序列化和反序列化。在处理复杂结构时,尤其是嵌套的对象和数组,需要特别注意类型转换和可能出现的类型匹配问题。
6. **JSON与其他库的互操作性**:尽管我们主要使用了Gson库,但其他如Jackson、org.json等库也有类似的API。它们之间可以通过标准的JSON字符串进行互换。 总之,Java中使用JSON涉及的主要步骤包括解析JSON字符串、...
5. **XML与JSON互换**: - JSON_lib还支持XML与JSON之间的转换,这对于那些需要在XML和JSON间切换的项目非常有用。 - 可以使用`XMLSerializer`类的`fromXML()`和`toXML()`方法进行转换。 6. **JSONPath表达式**:...
在Java开发中,JSON常用于数据传输和存储,因为它能够很好地与Java对象进行互换。JSON-lib是一个Java库,它提供了方便的API来处理JSON和XML之间的转换。 1. JSON-lib的功能: - 将Java对象转换为JSON格式的字符串...
- 与XML之间的转换,方便在不同数据格式间互换。 在实际开发中,选择哪个库主要取决于性能需求、易用性和项目兼容性。Fastjson以其高性能和简洁的API受到许多开发者的喜爱,而Json-lib则提供了更丰富的功能和对旧...
此外,文件中提到了使用Nutz的JSON解析器,这是一个高效的Java库,可以方便地进行Java对象与JSON字符串的互换。例如: ```java // Java对象转JSON字符串 Map, Object> map = new HashMap(); map.put("name", "Peter...
2. **Gson**:Google开发的Gson库,它提供了`Gson`类来实现Java对象和JSON数据之间的互换。使用`Gson.toJson()`和`Gson.fromJson()`方法可以轻松完成转换。 3. **org.json**:这是一个轻量级的库,提供了`...
Java Servlet与JSON(JavaScript ...开发者可以根据项目需求选择合适的库来实现JSON与Java对象的互换,从而提升开发效率和代码质量。在实际使用中,这些依赖包可以很好地支持JSON在Java Servlet环境中的各种应用场景。
XML(Extensible Markup Language)和JSON(JavaScript Object Notation)是两种广泛用于数据交换的格式...了解如何使用XStream进行XML与JSON的互换,并编写相应的测试,对于任何处理数据交换的Java开发者都至关重要。
Java实现XML到JSON转换涉及到的是数据格式之间的互换,这对于数据交换、API接口设计和Web服务来说非常常见。XML(可扩展标记语言)是一种结构化数据格式,常用于存储和传输数据;而JSON(JavaScript Object Notation...
总之,XML与JSON之间的转换是Java和Android开发中的常见任务。选择合适的jar包并正确引入,可以极大地简化开发工作,提高代码的可维护性和效率。在实际项目中,应根据具体需求和库的特性,选择最合适的XML到JSON转换...
3. **XML和JSON之间的转换**:json-lib还支持XML与JSON之间的互换,这对于处理既有XML又有JSON的混合环境非常有用。 4. **支持多种Java类型**:json-lib支持包括基本类型、集合、数组、日期、自定义对象等多种Java...
本教程将详细介绍如何使用Gson库实现在Java和JSON之间的数据互换。 ### Gson库的引入 首先,你需要在你的项目中引入Gson库。如果你使用Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>...
在Java中实现JSON字符串与Java对象互换的关键知识点包括以下几个方面: 1. 数据交换的必要性: 在Java开发中,经常需要与其他系统进行数据交互。常见的数据交换格式包括XML和JSON。与XML相比,JSON格式更轻量级,...