【问题标题】:Deserialize JSON object to String Android将 JSON 对象反序列化为字符串 Android
【发布时间】:2014-12-05 06:25:36
【问题描述】:

我正在尝试实现反序列化以将 json 对象解析为字符串,但没有调用我的自定义可反序列化类。

需要解析的JSON

{

 "status": true,
 "student": [
    {
        "id": 1,
        "name": "",
        "age": "",
         "title": "",

    }
]
}

我的反序列化类

public class MyDeserializer implements JsonDeserializer<StudentData> {

@Override
public StudentData deserialize(JsonElement je, Type type, JsonDeserializationContext jdc) {
    try {

        String content = je.getAsJsonObject().get("student").getAsString();

        return new Gson().fromJson(content, StudentData)
    } catch (Exception e) {
        e.printStackTrace();
        return null;
    }
}
}

注册我的反序列化器:-

MyDeserializer myDeserializer = new MyDeserializer();
Gson gson = new GsonBuilder().registerTypeAdapter(NotificationResponse.class, myDeserializer).create();
mRestAdapter = new RestAdapter.Builder().setServer(baseUrl).setConverter(new GsonConverter(gson)).setLogLevel(RestAdapter.LogLevel.FULL).setRequestInterceptor(new RequestInterceptor() 
             {
                @Override
                public void intercept(RequestFacade requestFacade) {
                }
            }).build();

【问题讨论】:

  • 我的问题是自定义反序列化器没有被调用。
  • 要正确实现,您应该使用您创建的相同“gson”对象来调用“fromGson()”函数?否则每次都像 new Gson() 一样初始化它不会调用你的 Desiralizer 类

标签: android json


【解决方案1】:

我认为this 教程将帮助您实现反序列化器(并且可能会引入一些新概念)

试试吧,看看它是否适合你!

【讨论】:

    【解决方案2】:

    对于这么简单的事情,我认为将 Gson 作为依赖项添加是不值得的。

    例子:

    JSONObject jObj = new JSONObject(theJsonYouPostedAbove);
    boolean status = jObj.getBoolean("status");
    JSONArray jArr = jObj.getJSONArray("student");
    for (int i = 0; i < jArr.length(); i++) {
        JSONObject jo = jArr.getJSONObject(i);
        int id = jo.getInt("id");
        String name = jo.getString("name");
        ...
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-04
      • 2020-02-03
      • 1970-01-01
      • 2012-04-24
      • 1970-01-01
      • 2016-03-06
      • 1970-01-01
      • 2012-07-18
      相关资源
      最近更新 更多