在Java中打印JSONObject的数据。

时间:2018-07-18 11:36:02

标签: java json

我有一个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 个答案:

答案 0 :(得分:1)

您可以从documentation遍历keys并获取values

  1. 使用Streams

    j.keySet().stream().map(k -> k +"=>"+ j.get(k)).forEach(System.out::println);
    
  2. 使用经典for each loop

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

同样,您的JSON无效,它应该是{"fname":"Stack", "lname":"Overflow"}