如何使用快速的Android网络库在Android中显示Json结果

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用快速的Android网络库在Android中显示Json结果相关的知识,希望对你有一定的参考价值。

我正在使用快速android网络库。 Json的回应正在发挥作用。我在logcat中得到了整个json字符串。如何在此库中的textview或listview中的textview或jsonarray中显示特定的json对象或字符串。请帮助,在此先感谢。

    JSONObject json = new JSONObject();

    try {
        json.put("email", loggedInUser);
    } catch (JSONException e) {
        e.printStackTrace();
    }

    Log.e("JSON", json.toString());

    AndroidNetworking.post(Constants.read_profile)
            .addBodyParameter("json", json.toString())
            .setTag("test")
            .setPriority(Priority.MEDIUM)
            .build()
            .getAsJSONObject(new JSONObjectRequestListener() {
                @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
                @Override
                public void onResponse(JSONObject response) {
                    Log.e("READ", response.toString());


                }

                @Override
                public void onError(ANError anError) {
                    Log.e("READ", anError.toString());
                }
            });
答案

尝试使用GSON进行json解析。我正在您现有的代码中实现GSON代码。

在app gradle实现'com.google.code.gson:gson:2.8.1'中添加此内容

对于JSONObject响应

getAsJSONObject(new JSONObjectRequestListener() {
    @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
    @Override
    public void onResponse (JSONObject response){
        Log.e("READ", response.toString());

        if (response != null) {
            Gson gson = new Gson();
            Type type = new TypeToken<YourModelClass>() {
            }.getType();
            YourModelClass result = gson.fromJson(response.toString(), type);
        }
    }

    @Override
    public void onError (ANError anError){
        Log.e("READ", anError.toString());
    }
});

对于JSONArray响应

@Override
public void onResponse (JSONArray response){
    Log.e("READ", response.toString());

    if (response != null) {
        Gson gson = new Gson();
        Type type = new TypeToken<List<YourModelClass>>() {
        }.getType();
        List<YourModelClass> result = gson.fromJson(response.toString(), type);
    }
}

以上是关于如何使用快速的Android网络库在Android中显示Json结果的主要内容,如果未能解决你的问题,请参考以下文章

我的Android进阶之旅在Android中使用MediaPipe库在实时视频源上实现人脸网格Face Mesh的绘制

我的Android进阶之旅在Android中使用MediaPipe库在实时视频源上实现人脸网格Face Mesh的绘制

如何使用 Retrofit 库在 Android 中下载文件?

如何使用 Leanback 库在 Android TV 中创建顶部导航栏

Android踩坑日记:使用Fesco图片加载库在GridView上的卡顿优化

Android踩坑日记:使用Fesco图片加载库在GridView上的卡顿优化