-2

これらの値を json オブジェクトのキーとして使用したいとしますString A = "A";String B = "B";

{
    "A":"string1",
    "B":"string2"
}

String別の時間と空間で、これらの値を から取得したいと思いますJson Object。「A」と「B」の値を取得する必要があります。この json オブジェクトを作成するときに A と B を使用し、値を取得するときにそれらを再利用できます。

ただしJson Object、実際の から を作成しようとしていObjectます。私はGsonこれを達成するために使用しています。オブジェクトを作成するときに A と B をキーとして使用するにはどうすればよいですか?

4

1 に答える 1

1

Gsonを使用すると、JSON を as に解析できますMap

String json = "{\n" +
        "\"A\":\"string1\",\n" +
        "\"B\":\"string2\"\n" +
    "}";

Gson gson = new Gson();
Type type = new TypeToken<Map<String, String>>(){}.getType();

Map<String, String> map = gson.fromJson(json, type);

System.out.println(map.get("A")); // string1
System.out.println(map.get("B")); // string2

または、既存のオブジェクトにキーをラップする場合

String json = "{ pairs : {\n" +
        "\"A\":\"string1\",\n" +
        "\"B\":\"string2\"\n" +
    "} }";

Gson gson = new Gson();

JsonObject jsonObject = gson.fromJson(json, JsonObject.class);

System.out.println(jsonObject.getPairs().get("A")); // string1
System.out.println(jsonObject.getPairs().get("B")); // string2

JsonObjectのように見える場所

class JsonObject {
    private Map<String, String> pairs;

    public Map<String, String> getPairs() {
        return pairs;
    }
}
于 2013-08-09T13:11:01.623 に答える