JAvaのjsonデータ解析:サードパーティfastJsonによる解析データ
4120 ワード
json構文jsonテキストファイルとXMLテキストファイルには多くの類似点があり、データ情報を格納・伝送するためのメディアjsonは、ファイルに応答することによってデータの担体として機能するだけでなく、構文を満たす文字列によってデータの担体として機能することもできる.これらの文字列をjson文字列jsonにおけるデータ称格納は主に{}と[]によって格納される.{}に格納されているのは二列集合であり、辞書として理解できる.[]に格納されているのは単列集合であり、配列{}辞書にはkey、valueの形式で格納されていると理解できる.keyのデータ型は文字列タイプのみであり、valueは任意のデータ型であり、データを取得するのもkeyによって値を取得する[]配列である.jsonデータの解析はjson解析の場合、第三者を使う必要があります.現在一般的に使われているのはアリババのfastjsonのjarパッケージです.次にfastjsonを用いてデータの解析方法を学びます.jsonデータの解析は、解析するjsonファイルのパスを取得する2入力ストリームを介してjsonファイルを読み出し、json文字列に変換する3 json文字列を取得した後、json文字列のjsonの{}と[]に基づいてデータを階層的に解析する4解析対象を作成して解析したデータを受信する私たちはjsonデータを解析し、主にjson文字列を操作する具体的な注意事項であり、例では簡単なjson文字列を解析することを説明します.
辞書と配列のネストされたjsonデータを見てみましょう.
解析データを受信するために使用されるクラスはすべてシステムクラスであり、次に、解析データを受信するために独自のクラスを使用します.
// json json
String jsonString = "{\"name\":\" \",\"gender\":\" \",\"isStudent\" : true,\"age\" : 18}";// :"\ \" {} , \\
// fastJson json
// :fastJson
// :JSONObject JSONArray: json {}, JSONObject , {}, JSONObject
JSONObject obj = JSON.parseObject(jsonString);// JSONObject, map
String name = obj.getString("name");// key value
int age = obj.getIntValue("age");// key age
Boolean isStudent = obj.getBoolean("isStudent");
辞書と配列のネストされたjsonデータを見てみましょう.
//json
String jsonString = "{\"student\":{\"name\":\" \",\"age\":18}}";
// json {}, JSONArray
JSONObject obj = JSON.parseObject(jsonString);
JSONObject obj2 = obj.getJSONObject("student");// key {}, JSONObject
String name = array.getString("name");// key value
int age = array.getIntValue("age");
解析データを受信するために使用されるクラスはすべてシステムクラスであり、次に、解析データを受信するために独自のクラスを使用します.
// Student
public class Student
{
String name;
int age;
// set
Public void setName(String name)
{
this.name = name;
}
Public void setAge(int age)
{
this.age = age;
}
}
//json
String jsonString = "{\"student\":{\"name\":\" \",\"age\":18}}";
JSONObject obj = JSON.parseObject(jsonString);
JSONObject obj2 = obj.getJSONObject("student");// student value, {}, JSONObject
// value string
String studentString = obj2.toJsonString();
//JSON , key Student , , Student set , Student set , , , ,
Student student = JSON.parse(studentString,Student.class);