似乎无法弄清楚这一点.我在GSON中尝试JSON树操作,但我有一个案例,我不知道或有一个POJO转换为字符串,在转换之前JsonObject.有没有办法直接从a String到JsonObject?
我尝试了以下(Scala语法):
val gson = (new GsonBuilder).create
val a: JsonObject = gson.toJsonTree("""{ "a": "A", "b": true }""").getAsJsonObject
val b: JsonObject = gson.fromJson("""{ "a": "A", "b": true }""", classOf[JsonObject])
Run Code Online (Sandbox Code Playgroud)
但a失败了,JSON被转义并解析为JsonString唯一,并
b返回一个空JsonObject.
有任何想法吗?
Dal*_*ass 509
使用JsonParser; 例如:
JsonParser parser = new JsonParser();
JsonObject o = parser.parse("{\"a\": \"A\"}").getAsJsonObject();
Run Code Online (Sandbox Code Playgroud)
mav*_*ick 143
尝试使用getAsJsonObject()而不是在接受的答案中使用的直接演员:
JsonObject o = new JsonParser().parse("{\"a\": \"A\"}").getAsJsonObject();
Run Code Online (Sandbox Code Playgroud)
Pur*_*ham 48
String jsonStr = "{\"a\": \"A\"}";
Gson gson = new Gson();
JsonElement element = gson.fromJson (jsonStr, JsonElement.class);
JsonObject jsonObj = element.getAsJsonObject();
Run Code Online (Sandbox Code Playgroud)
Joz*_*ský 36
最简单的方法是使用JsonPrimitive派生自的类,JsonElement如下所示:
JsonElement element = new JsonPrimitive(yourString);
JsonObject result = element.getAsJsonObject();
Run Code Online (Sandbox Code Playgroud)
Dan*_*nes 11
刚遇到同样的问题.您可以为JsonElement该类编写一个简单的自定义反序列化器:
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
GsonBuilder gson_builder = new GsonBuilder();
gson_builder.registerTypeAdapter(
JsonElement.class,
new JsonDeserializer<JsonElement>() {
@Override
public JsonElement deserialize(JsonElement arg0,
Type arg1,
JsonDeserializationContext arg2)
throws JsonParseException {
return arg0;
}
} );
String str = "{ \"a\": \"A\", \"b\": true }";
Gson gson = gson_builder.create();
JsonElement element = gson.fromJson(str, JsonElement.class);
JsonObject object = element.getAsJsonObject();
Run Code Online (Sandbox Code Playgroud)
该JsonParser构造已被弃用。改用静态方法:
JsonObject asJsonObject = JsonParser.parseString(someString).getAsJsonObject();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
304198 次 |
| 最近记录: |