java中JSONObject的打印数据。 [复制]

Posted

技术标签:

【中文标题】java中JSONObject的打印数据。 [复制]【英文标题】:Print data of JSONObject in java. [duplicate] 【发布时间】:2018-12-26 07:35:02 【问题描述】:

我有一个 JSONObject 包含一个简单的 json 文档(不包含嵌套对象或 JSONArray)。我想打印那些数据。

import org.json.JSONObject;
import java.util.Scanner;
public class Test2
  public static void main(String[] args) 
    Scanner scan=new Scanner(System.in);
    String s=scan.nextLine();
    JSONObject j=new JSONObject(s);
    // What code should I write here
  

假设输入是fname:"Stack", lname:"Overflow",那么输出应该是:-

fname => Stack
lname => Overflow

如果输入是country:"India", city:"Delhi"那么输出应该是:-

country => India
city => Delhi

你能帮我怎么做吗?

【问题讨论】:

【参考方案1】:

您可以从documentation 迭代keys,并获取values

    使用Streams

    j.keySet().stream().map(k -> k +"=>"+ j.get(k)).forEach(System.out::println);
    

    使用经典的for each loop

    for(String key : j.keySet())
        String val = j.getString(key);
        System.out.println(key +"=>"+ val);
    
    

另外你的 JSON 无效,应该是 "fname":"Stack", "lname":"Overflow"

【讨论】:

您不应该花这么多时间来回答一个已经被问过并回答过很多次的问题。只需对它投一票并继续前进 @TimCastelijns 我通常,并且总是在可能的情况下这样做,但是在我的回答之后出现了重复,我不知道它们,我也没有使用相同的方式,但每个方式都不那么老了流而不是链接中的基本数组迭代 重复出现在我的回答之后 - 搜索它们需要 10 秒。你也可以在回答之前自己做这个

以上是关于java中JSONObject的打印数据。 [复制]的主要内容,如果未能解决你的问题,请参考以下文章

jsonobject 怎么封装java中Date类型的数据

JAVA - fastjson 中 JSONObject 的顺序问题

JSONObject.fromObject(map)(JSON与JAVA数据的转换)

在 Java 中解析 JSON 字符串

java中object数据怎么转换成json数据

Java-json系列:用JSONObject解析和处理json数据