AndroidはFastJsonを使用


FastJsonはアリババのオープンソースのJson処理ツールパッケージで、「シーケンス化」と「逆シーケンス化」の2つの部分が含まれています.
テストにより、fastjsonは他のJava Json parserを上回る非常に速い性能を持っていることが明らかになった.自称最速のJackJsonを含め、機能が強く、Java Bean、集合、Map、日付、Enumを完全にサポートし、モデルをサポートし、自省をサポートする.依存せず、Java SE 5.0以上のバージョンで直接実行できる.Android対応オープンソース(Apache 2.0)
FastJsonの説明:https://github.com/Alibaba/fastjson/wiki/%E9%A6%96%E9%A1%B5
注意:FastJsonはJavaバージョンとAndroidバージョンがあるので、間違えないでください.多くのブログでは言及されていません.
android FastJson jarダウンロードアドレス:https://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.11/fastjson-1.2.11.jar
このjarパッケージをプロジェクトのlibsディレクトリにコピーするとandroidが自動的に参照されます
FastJsonでよく使われる方法:
public static final Object parse(String text);//JSONテキストparseをJSOnObjectまたはJSOnArray public static final JSOnObject parseObject(String text)とする.//JSONテキストparseをJSOnObject public static final T parseObject(String text,Class clazz)にする.//JSONテキストparseをJavaBean public static final JSOnArray parseArray(String text);//JSONテキストparseをJSOnArray public static final List parseArray(String text,Class clazz);//JSONテキストparseをJavaBean集合public static final String toJSOnString(Object object);//JavaBeanをJSONテキストpublic static final String toJSOnString(Object object,boolean prettyFormat)にシーケンス化する.//JavaBeanをフォーマット付きJSONテキストpublic static final Object toJSON(Object javaObject)にシーケンス化する.JavaBeanをJSOnObjectまたはJSOnArrayに変換します.
1、Person.java
class Person {
	//  
	private String name = null;
	//  
	private int age = 0;
	//     
	private boolean isMale = true;
	//     
	private List childName = new ArrayList();

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public boolean isMale() {
		return isMale;
	}

	public void setMale(boolean isMale) {
		this.isMale = isMale;
	}

	public List getChildName() {
		return childName;
	}

	public void setChildName(List childName) {
		this.childName = childName;
	}

	public void init() {
		name = "Bob";
		age = 25;
		isMale = true;
		childName.add("Tina");
		childName.add("Linda");
		childName.add("Tom");
	}
	
	@Override
	public String toString() {
		String str = "  : " + name + ",   : " + age + ",   : " + (isMale?"  ":"  ") + "
"; if(childName != null && childName.size() != 0) { str = str + " : " + childName.size() + "
"; for(int i=0;i
2、activity_fastjson.xmlは結果を表示するためにTextViewを使用します
3、FastjsonActivity.java
public class FastjsonActivity extends Activity {

	public TextView textView;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_fastjson);
		
		textView = (TextView) findViewById(R.id.textview);
		
		Person person = new Person();
		person.init();
		//(1)
		JSONObject personObject = (JSONObject) JSON.toJSON(person);
		addText(personObject.toString());
		//(2)
		String personStr = JSON.toJSONString(person);
		addText(personStr);
		//(3)
		person = JSON.parseObject(personStr, Person.class);
		addText(person.toString());
		//(4)
		String jsonArrStr = "[\"a\", \"b\", \"c\", \"d\"]";
		JSONArray jsonArr = JSON.parseArray(jsonArrStr);
		addText(jsonArr.toString());
		//(5)
		List strlist = JSON.parseArray(jsonArrStr, String.class);
		addText(strlist.toString());
	}
	
	public void addText(String str) {
		textView.setText(textView.getText().toString() + str + "
"); } }
出力結果:
{“childName”:["Tina","Linda","Tom"],"name":"bob","age":25,"isMale":true}
{"age":25,"childName":["Tina","Linda","Tom"],"isMale":true,"name":"Bob"}
名前:Bob、年齢:25、性別:男性
子供の数:3
0. Tina
1. Linda
2. Tom
["a","b","c","d"]
[a,b,c,d]