Android学習ノート------jsonデータの解析
10049 ワード
しばらくアンドロイドを習った.突然前に学んだことの多くは役に立たないと感じて、今からもう一度整理し直します.今は主にネットに関するアンドロイドの知識を勉強しています.結局、現在のアンドロイドアプリケーションの多くは、ネットワーククライアントとして関係しています.これは学習ノートの整理の第1編で、Jsonデータの解析を記録して、使うgsonバッグです.jsonはキー値ペアの集合である.Androidは一般的にjson解析に応用される場所はhttpを通じてサーバに情報を要求した後、サーバはjsonデータを返し、Androidはその中の各jsonオブジェクトを対応するBeanオブジェクトに解析し、以下のjsonデータのように:
[{"name":"zhangsan","age":20},["name":"lisi","age":19]]
これはjson配列で、2人のオブジェクトが含まれています.2つのオブジェクトを抽出することです
1、androidエンジニアリングでPersonクラスを生成し、personクラスのメンバーにはnameとageがあり、jsonデータの中のオブジェクトに対して.
2、1つのjson解析のクラスを書いて、直接1つのListオブジェクトを返して、解析した2つのpersonオブジェクトを含んで、クラスの構築は以下の通りです:
必要に応じてJsonUtilsのgetPersonsメソッドを呼び出せばよい.これはもちろん比較的簡単なjsonデータ解析である.
[{"name":"zhangsan","age":20},["name":"lisi","age":19]]
これはjson配列で、2人のオブジェクトが含まれています.2つのオブジェクトを抽出することです
1、androidエンジニアリングでPersonクラスを生成し、personクラスのメンバーにはnameとageがあり、jsonデータの中のオブジェクトに対して.
2、1つのjson解析のクラスを書いて、直接1つのListオブジェクトを返して、解析した2つのpersonオブジェクトを含んで、クラスの構築は以下の通りです:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package com.example.jsontest2;
import java.io.IOException;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.List;
import com.google.gson.stream.JsonReader;
public class JsonUtils {
private List<Person> persons = null;
private Person person = null;
public List<Person> getPersons(String jsonData){
try {
JsonReader reader = new JsonReader(new StringReader(jsonData));
reader.beginArray();
persons = new ArrayList<Person>();
while (reader.hasNext()) {
reader.beginObject();
person = new Person();
while(reader.hasNext()){
String tagName = reader.nextName();
if (tagName.equals("name")) {
person.setName(reader.nextString());
}else if(tagName.equals("age")){
person.setAge(reader.nextInt());
}
}
reader.endObject();
persons.add(person);
}
reader.endArray();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return persons;
}
}
必要に応じてJsonUtilsのgetPersonsメソッドを呼び出せばよい.これはもちろん比較的簡単なjsonデータ解析である.