java - 如何仅使用 json-simple 从嵌套对象中的键获取值

标签 java json object json-simple

我只想从所有嵌套对象中获取特定值。在应用程序中,我只需要另一个对象消息中的 msg 3。

我已经尝试使用 JSONObject 但它不适用于嵌套对象。然而,它仅使用单个对象(即根对象)。

输入 - {"name":"lola","messages":{"msg 1":"msg 2","msg 3":"msg 4"},"age":22}

        String s = sc.nextLine();
        JSONParser parser = new JSONParser(); 
        JSONObject json = (JSONObject) parser.parse(s);
        System.out.println(json);
        Object name = json.get("messages");
        System.out.println(name);

        JSONObject messageObject = (JSONObject) json.get("messages");
        System.out.println(employeeObject);
        //Get employee first name
        String msg= (String) messageObject.get("msg3");   
        System.out.println(msg);

输出:

{"msg 3":"msg 4","msg 1":"msg 2"}
{"msg 3":"msg 4","msg 1":"msg 2"}
null

最后一个嵌套对象没有以任何方式获取。另一件事是,字符串作为 JSONObject 的正常打印方式发生了变化。就像 msg3 在 msg1 之前一样。 代替 null - msg4 应该在那里。

提前致谢。

最佳答案

“msg”和“3”之间缺少一个空格。顺便说一句 - 您可以更轻松地做到这一点。

String s = sc.nextLine();
JSONParser parser = new JSONParser(); 
JSONObject json = (JSONObject) parser.parse(s);
System.out.println(json);
System.out.println(json.get("message").get("msg 3"));

关于java - 如何仅使用 json-simple 从嵌套对象中的键获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56433162/

相关文章:

ruby-on-rails - Ruby on Rails 上的 JSON api

java - 如何从 Java 对象中提取数据?

javascript - 计算字符串中的所有字符

java - 如何随机化参数中的对象?

java - 启动线程内的方法?

java - 自定义 ArrayAdapter 中的 setImageResource 导致 java.lang.NullPointerException

ios - 从具有 id 的 UItableview 单元格中获取数据

java - java中JSP错误问题

java - 反射 *.class 文件

json - R中的可折叠树