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
3、FastjsonActivity.java
{“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]
テストにより、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]