8

ファイルがこのような場合に GSON で解析する方法

{
    "Person Id":"test",
    "Last Name": "test",
    "First Name":"test"
}

名前の間にスペースがない場合は解析することを知っているので、次のようなクラスを作成します

class Person{
public String PersonId;
public String LastName;
public String FirstName;
}

しかし、識別子の中にスペースがある場合、どのように解析するのですか? Person クラスで何を変更しますか? (ファイルのフォーマットを変更することはできません)。

4

2 に答える 2

40

GSON を使用している間に、注釈を追加することでこれを行うことができます。例えば:

class Person{
    @SerializedName("Person Id") public String PersonId;
    @SerializedName("Last Name") public String LastName;
    @SerializedName("First Name") public String FirstName;
}

詳細については、GSON ドキュメント ( https://sites.google.com/site/gson/gson-user-guide#TOC-JSON-Field-Naming-Support ) を参照してください。

于 2013-04-09T16:52:10.597 に答える
0

このJSONを解析しようとしましたが、GSONを使用して解析しませんでした。私はあなたと私のコードを共有します、親切に問題を解決するための補足的な解決策としてのみ考えてください:

String parse = "{\"Person Id\":\"test\",\"Last Name\": \"lname\",\"First Name\":\"fname\"}";
try {
    JSONObject jsonObject   =   new JSONObject(parse);
    String id = jsonObject.getString("Person Id");
    System.out.println("id="+id);
    System.out.println("lname="+jsonObject.getString("Last Name"));
    System.out.println("fname="+jsonObject.getString("First Name"));
} catch (JSONException e) {
    e.printStackTrace();
}
于 2011-08-06T09:55:05.737 に答える