为了账号安全,请及时绑定邮箱和手机立即绑定

用Java解析JSON对象

用Java解析JSON对象

侃侃无极 2019-07-01 10:04:14
用Java解析JSON对象我有JSON对象,如下所示:member = "{interests : [{interestKey:Dogs}, {interestKey:Cats}]}";在Java中,我希望解析上面的json对象,并将这些值存储在数组中。我正在寻找一些代码,通过它我可以实现这一点。
查看完整描述

3 回答

?
繁花不似锦

TA贡献1851条经验 获得超4个赞

我猜你是想把利息钥匙存储在一个列表里。

使用org.json图书馆:

JSONObject obj = new JSONObject("{interests : [{interestKey:Dogs}, {interestKey:Cats}]}");List<String> list = new ArrayList<String>();JSONArray array = obj.getJSONArray("interests");for(int i = 0 ; i < array.length() ; i++){
    list.add(array.getJSONObject(i).getString("interestKey"));}


查看完整回答
反对 回复 2019-07-01
?
四季花海

TA贡献1811条经验 获得超5个赞

public class JsonParsing {public static Properties properties = null;public static JSONObject jsonObject = null;static {
    properties = new Properties();}public static void main(String[] args) {

    try {

        JSONParser jsonParser = new JSONParser();

        File file = new File("src/main/java/read.json");

        Object object = jsonParser.parse(new FileReader(file));

        jsonObject = (JSONObject) object;

        parseJson(jsonObject);

    } catch (Exception ex) {
        ex.printStackTrace();
    }}public static void getArray(Object object2) throws ParseException {

    JSONArray jsonArr = (JSONArray) object2;

    for (int k = 0; k < jsonArr.size(); k++) {

        if (jsonArr.get(k) instanceof JSONObject) {
            parseJson((JSONObject) jsonArr.get(k));
        } else {
            System.out.println(jsonArr.get(k));
        }

    }}public static void parseJson(JSONObject jsonObject) throws ParseException {

    Set<Object> set = jsonObject.keySet();
    Iterator<Object> iterator = set.iterator();
    while (iterator.hasNext()) {
        Object obj = iterator.next();
        if (jsonObject.get(obj) instanceof JSONArray) {
            System.out.println(obj.toString());
            getArray(jsonObject.get(obj));
        } else {
            if (jsonObject.get(obj) instanceof JSONObject) {
                parseJson((JSONObject) jsonObject.get(obj));
            } else {
                System.out.println(obj.toString() + "\t"
                        + jsonObject.get(obj));
            }
        }
    }}}


查看完整回答
反对 回复 2019-07-01
  • 3 回答
  • 0 关注
  • 781 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信