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的打印数据。 [复制]的主要内容,如果未能解决你的问题,请参考以下文章
JAVA - fastjson 中 JSONObject 的顺序问题