当前位置: 代码迷 >> JavaScript >> json-lib解析JSON例证
  详细解决方案

json-lib解析JSON例证

热度:10082   发布时间:2013-02-26 00:00:00.0
json-lib解析JSON例子

首先说明一下,json-lib相较于Jackson以及GSON,性能是最低的,并且长期没有更新,所以不推荐使用。

1.Maven Dependency

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">	<modelVersion>4.0.0</modelVersion>	<groupId>org.fool.json</groupId>	<artifactId>json</artifactId>	<version>0.0.1-SNAPSHOT</version>	<packaging>jar</packaging>	<name>JSON</name>	<url>http://maven.apache.org</url>	<properties>		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>	</properties>	<dependencies>		<dependency>			<groupId>net.sf.json-lib</groupId>			<artifactId>json-lib</artifactId>			<version>2.4</version>			<classifier>jdk15</classifier>		</dependency>		<dependency>			<groupId>org.apache.commons</groupId>			<artifactId>commons-lang3</artifactId>			<version>3.1</version>		</dependency>		<dependency>			<groupId>junit</groupId>			<artifactId>junit</artifactId>			<version>4.11</version>			<scope>test</scope>		</dependency>	</dependencies></project>

先来看一个简单的DEMO

JsonlibDemo.java

package org.fool.json.jsonlib;import net.sf.json.JSONArray;import net.sf.json.JSONObject;public class JsonlibDemo{	public static void main(String[] args)	{		String jsonContent = "{'hello':'world', 'hero':'heroine'}";		JSONObject jsonObject = JSONObject.fromObject(jsonContent);		String str1 = jsonObject.getString("hello");		String str2 = jsonObject.getString("hero");		System.out.println(str1);		System.out.println(str2);		System.out.println("--------------------");		jsonContent = "[{'hello': 333, 'abc': false, 'xyz': {'a': 1, 'b': 'ab'}}, "				+ "{'hello': 555, 'abc': true, 'xyz': {'a': 3, 'b': 'ba'}}]";		JSONArray jsonArray = JSONArray.fromObject(jsonContent);		for (Object object : jsonArray)		{			JSONObject jsonObject2 = JSONObject.fromObject(object);			int value1 = jsonObject2.getInt("hello");			boolean value2 = jsonObject2.getBoolean("abc");			// String value33 = jsonObject2.getString("xyz");			JSONObject jsonObject3 = jsonObject2.getJSONObject("xyz");			int value3 = jsonObject3.getInt("a");			String value4 = jsonObject3.getString("b");			System.out.println(value1);			System.out.println(value2);			System.out.println(value3);			System.out.println(value4);		}	}}

?

2.POJO

Person.java

package org.fool.json.jsonlib;import java.util.ArrayList;import java.util.List;import org.apache.commons.lang3.builder.ToStringBuilder;import org.apache.commons.lang3.builder.ToStringStyle;public class Person{	private String username;	private String password;	private int age;	private String address;	private List<String> list = new ArrayList<>();	public String getUsername()	{		return username;	}	public void setUsername(String username)	{		this.username = username;	}	public String getPassword()	{		return password;	}	public void setPassword(String password)	{		this.password = password;	}	public int getAge()	{		return age;	}	public void setAge(int age)	{		this.age = age;	}	public String getAddress()	{		return address;	}	public void setAddress(String address)	{		this.address = address;	}	public List<String> getList()	{		return list;	}	public void setList(List<String> list)	{		this.list = list;	}	@Override	public String toString()	{		return ToStringBuilder.reflectionToString(this,				ToStringStyle.SHORT_PREFIX_STYLE);	}}

?

3.JUnit Test

JsonlibTest.java

package org.fool.json.jsonlib;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;import org.junit.Before;import org.junit.Test;public class JsonlibTest{	private JSONObject jsonObject = null;	private JSONArray jsonArray = null;	private Person person = null;	@Before	public void setUp() throws Exception	{		person = new Person();		person.setUsername("zhangsan");		person.setPassword("123456");		person.setAddress("beijing");		person.setAge(30);		person.getList().add("hello");		person.getList().add("world");		person.getList().add("Hero");		person.getList().add("Heroine");	}......}

?

testEntity2Json

...        @Test	public void testEntity2Json()	{		jsonObject = JSONObject.fromObject(person);		System.out.println(jsonObject);	}...

?result

{"address":"beijing","age":30,"list":["hello","world","Hero","Heroine"],"password":"123456","username":"zhangsan"}

?

testArray2Json

...    @Test	public void testArray2Json()	{		Person[] persons = {person, person};		// int[] i = { 8, 8, 5, 6, 7 };		jsonArray = JSONArray.fromObject(persons);		System.out.println(jsonArray);	}...

?result

[{"address":"beijing","age":30,"list":["hello","world","Hero","Heroine"],"password":"123456","username":"zhangsan"},{"address":"beijing","age":30,"list":["hello","world","Hero","Heroine"],"password":"123456","username":"zhangsan"}]

?

testList2Json

...    @Test	public void testList2Json()	{		List<Person> list = new ArrayList<>();		list.add(person);		list.add(person);		jsonArray = JSONArray.fromObject(list);		System.out.println(jsonArray);	}...

?result

[{"address":"beijing","age":30,"list":["hello","world","Hero","Heroine"],"password":"123456","username":"zhangsan"},{"address":"beijing","age":30,"list":["hello","world","Hero","Heroine"],"password":"123456","username":"zhangsan"}]

?

testMap2Json

...    @Test	public void testMap2Json()	{		Map<String, Person> map = new HashMap<>();		map.put("001", person);		map.put("002", person);		jsonObject = JSONObject.fromObject(map);		System.out.println(jsonObject);	}...

?result

{"001":{"address":"beijing","age":30,"list":["hello","world","Hero","Heroine"],"password":"123456","username":"zhangsan"},"002":{"address":"beijing","age":30,"list":["hello","world","Hero","Heroine"],"password":"123456","username":"zhangsan"}}

?

?

?

  相关解决方案