【问题标题】:Getting nested JSON data from string JSON data从字符串 JSON 数据中获取嵌套的 JSON 数据
【发布时间】:2016-11-17 08:50:58
【问题描述】:

我正在尝试使用 JSONObject 和 JSONArray 从字符串 JSON 数据中获取嵌套的 JSON 数据。代码正在编译,没有任何错误,但结果是 Null 而不是关联的字符串。如果有任何嵌套 JSON 字符串的替代方法,请提出建议。

我的代码:

  import java.io.*;
  import java.net.*
  import org.json.simple.JSONObject;
  import org.json.simple.parser.JSONParser;

  public class A4 {
   public static void main(String[] args){
    String out,out1= null;
    try{
        URL a=new URL("URL");
        HttpURLConnection b=(HttpURLConnection) a.openConnection();
        b.setRequestMethod("GET");
        b.setRequestProperty("Accept", "application/json");
        BufferedReader c=new BufferedReader(new InputStreamReader(b.getInputStream()));
        StringBuilder sb=new StringBuilder();
        while((out=c.readLine())!=null){
            sb.append(out);
            out1=sb.toString();
            }

       c.close();
       b.disconnect();
    }catch (Exception e){
           e.printStackTrace();
       return;
    }
    JSONParser parser = new JSONParser();
    try{
        Object obj = parser.parse(out1);
            JSONObject jsonObject = (JSONObject) obj;
            String name = (String) jsonObject.get("Name");
        System.out.println(name);
    } 
    catch (Exception e) {
        e.printStackTrace();
    }
    }
 }

【问题讨论】:

  • 这与您一小时前提出的问题有何不同? stackoverflow.com/questions/40648754/…
  • 代码不同
  • 发布您的完整堆栈跟踪以及您的 json 文件示例
  • out1=sb.toString() 的行是一样的。这就是这里的问题。

标签: java arrays json nested


【解决方案1】:

试试下面的代码,我认为它应该适合你:

while((out=c.readLine())!=null){
    sb=sb.append(out);
}
out1=sb.toString();

请告诉我它是否适合您?

【讨论】:

  • tat 部分代码没有问题。问题在于我需要创建嵌套 json 的这部分代码。 JSONParser 解析器 = 新 JSONParser();尝试{对象 obj = parser.parse(out1); JSONObject jsonObject = (JSONObject) obj; String name = (String) jsonObject.get("Name"); System.out.println(name); }
【解决方案2】:

可以直接使用以下代码,而不是使用 JSONParser 来获取 JSONObject

JSONObject jsonObj = new JSONObject(out1)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-16
    • 1970-01-01
    • 1970-01-01
    • 2021-10-20
    • 1970-01-01
    • 2011-03-18
    • 2023-02-04
    相关资源
    最近更新 更多