假设我有String A = "A";
和String B = "B";
,我想将这些值用作json对象中的键。
{
"A":"string1",
"B":"string2"
}
现在在另一个时空,我想从String
获取这些Json Object
值。我必须得到“A”和“B”的值。我们可以在制作这个json对象时使用A和B,并在获取值时重用它们。
但是,我正在尝试从实际Json Object
中制作Object
。我正在使用Gson
来实现这一目标。如何在制作对象时使用A和B作为键?
答案 0 :(得分:1)
使用Gson,您可以将JSON解析为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;
}
}