无法将JSON字符串转换为对象?

高速网络

我已经在这个问题上停留了3天。

说我有一个像这样的JSON字符串{"a": 0, "b": true, "c": 25, "d": 4.0, "e": false}

我尝试使用此方法将其变成对象:

Gson gson = new Gson();
MyObject myObject = gson.fromJson(jsonString, MyObject.class);

这将返回一个空对象。意味着myObject将是这样的:

  • a是0
  • b为假
  • c为0
  • d是0.0
  • e是错误的

我尝试了其他方法来从JSON字符串中获取值,并且它们始终提供JSONException。之所以gson.fromJson(jsonString, MyObject.class)不起作用,可能是因为ProGuard混淆使MyObject的变量名与JSON字符串中的变量名不同。如何将此字符串转换为MyObject的原始形式?

伊万·卡洛亚诺夫(Ivan Kaloyanov)

如果你是正确的且容易混淆,那就要注册自己的了JsonDeserializer这是一个简单的例子。首先,您必须实现它

JsonDeserializer<MyObject> deserializer = new JsonDeserializer<MyObject>() {  
    @Override
    public UserDate deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
        JsonObject jsonObject = json.getAsJsonObject();

        MyObject myObject = new MyObject();
        // Write the actual deserialization logic for MyObject class here
        return myObject;
    }
};

然后,您必须注册它。

GsonBuilder gsonBuilder = new GsonBuilder();

gsonBuilder.registerTypeAdapter(MyObject.class, deserializer);

Gson customGson = gsonBuilder.create();  
MyObject myObject = customGson.fromJson(myObject, MyObject.class); 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法将 json 字符串转换为 json 对象

来自分类Dev

无法将空字符串转换为JSON对象

来自分类Dev

Dart对象-> JSON字符串无法转换为JSON

来自分类Dev

javascript将JSON字符串转换为JSON对象

来自分类Dev

Spring - 将 JSON 字符串转换为 JSON 对象

来自分类Dev

无法将Generator类的对象转换为字符串

来自分类Dev

无法将类stdClass的对象转换为字符串

来自分类Dev

无法将任何对象转换为字符串

来自分类Dev

Doctrine:无法将类的对象转换为字符串

来自分类Dev

无法将字符串转换为 LocalDateTime 对象

来自分类Dev

将点分隔的字符串转换为JSON对象

来自分类Dev

将JSON对象数组转换为字符串

来自分类Dev

将打字稿对象转换为json字符串

来自分类Dev

ExpressJS / AngularJS:将JSON对象转换为字符串

来自分类Dev

将字符串转换为Javascript中的JSON对象

来自分类Dev

将HTML字符串转换为JSON对象

来自分类Dev

将jira json字符串转换为java对象

来自分类Dev

将JSON字符串转换为对象Javascript

来自分类Dev

将字符串转换为JSON对象C#

来自分类Dev

将字符串转换为Javascript中的JSON对象

来自分类Dev

ExpressJS / AngularJS:将JSON对象转换为字符串

来自分类Dev

使用Java将字符串转换为JSON对象

来自分类Dev

将JSON字符串转换为对象

来自分类Dev

将Python对象转换为JSON字符串

来自分类Dev

将字符串转换为JSON对象

来自分类Dev

将 JSON 字符串转换为 JS 对象

来自分类Dev

将解密后的字符串转换为 JSON 对象

来自分类Dev

无法将json数组转换为字符串

来自分类Dev

我无法将Json转换为字符串[OctoberCms]