如何使用Java提取JSON数据 [英] How to pull json data using java

查看:257
本文介绍了如何使用Java提取JSON数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法在Java中从中提取数据.问题在于 name_value_list 之后将如何获取.预先感谢.

I am unable to pull data from this in java. The problem is that how name_value_list will be fetched afterwards. Thanks in advance.

{ 
  "id" : "ets7qkt1luugsj828jugs8vuq5",
  "module_name" : "Users",
  "name_value_list" : { "mobile_max_list_entries" : { "name" : "mobile_max_list_entries",
          "value" : null
        },
      "mobile_max_subpanel_entries" : { "name" : "mobile_max_subpanel_entries",
          "value" : null
        },
      "user_currency_id" : { "name" : "user_currency_id",
          "value" : "-99"
        },
      .
      .


      "user_language" : { "name" : "user_language",
          "value" : "en_us"
        },
      "user_name" : { "name" : "user_name",
          "value" : "abcd"
        },
      "user_number_seperator" : { "name" : "user_number_seperator",
          "value" : ","
        }
    }
}

推荐答案

我会说尝试使用Google的Gson()进行反序列化.

I would say to try using google's Gson() to deserialize.

首先,构建实体(或对象映射)类,例如:

First, build the entity (or object mapping) classes, something like:

public class MobileMaxListEntry implements Serializable {
@Expose
@SerializedName("name")
private String name;
@Expose
@SerializedName("name")
private String value;
//getters / setters
}

对您拥有的每个实体执行此操作.然后:

Do this for each entity you have. Then:

public class ValuesList implements Serializable {
@Expose
@SerializedName("mobile_max_list_entries")
private MobileMaxListEntry mobile_max_list_entries;
@Expose
@SerializedName("mobile_max_subpanel_entries")
private MobileMaxSubpanelEntry mobile_max_subpanel_entries;
//getters/setters for everything
}

然后,响应类:

public class MyResponseClass implements Serializable {  
@Expose
@SerializedName("id")
private String objectId;
@Expose
@SerializedName("module_name")
private String moduleName;
@Expose
@SerializedName("name_value_list")
private ValuesList valuesList;
//getters / setters for everything
}

然后,在您的代码中:

Gson gson = new Gson();
String json = "your_json_here";
MyResponseClass  deserialized = gson.fromJson(json, MyResponseClass.class);

如果遇到错误,请尝试为每个类添加默认的空构造函数.

If you get an error, try adding default empty constructors for each class.

这篇关于如何使用Java提取JSON数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆