如何解析HttpsURLConnection的JSON结果,其中有些没有标题?

来源:爱站网时间:2021-11-25编辑:网友分享
如何解析HttpsURLConnection的JSON结果,其中有些没有标题?这是爱站技术小编困扰了很久的问题,对这个问题,小编最终找到答案,具体操作,已经整理出了一份给大家参考参考,希望大家能得到帮助。

问题描述


我正在尝试从下面的JSON结果中获取“ rawNumber”和“ date_of_birth”。我已经拥有的Java代码正在检索结果代码并记录结果字符串,但是当我尝试解析它时出错。我在下面的代码中指出了上次成功的地方。我能够使用非常相似的代码成功解析JSON,但似乎无法正常工作。

编辑:我已经更新了代码(一遍又一遍),下面是更新的代码。它仍然在开始解析结果的部分上失败。它将结果打印得很好。

JSONObject jsonResults = new JSONObject(response.toString()); 
                            data.addToLog("ResponseResults:", jsonResults.toString() );

                            JSONArray results = jsonResults.getJSONArray("items");
                            data.addToLog("ResponseResultsParse:", results.toString() );

                            data.addToLog("Array:", results.toString() );

                                 for (int index=0;index

下面是我要解析的JSON:

{
    "items": [
        {
            "tableName": "contacts",
            "count": 1,
            "columnNames": [
                "id",
                "date_of_birth",
                "number",
                "rawNumber",
                "phoneType"
            ],
            "rows": [
                [
                    "310326",
                    "01/01/2000",
                    "5555555555",
                    "5555555555",
                    "Home Phone"
                ]
            ]
        }
    ]
}

下面是“旧的”无效代码:

int responseCode = con.getResponseCode();
            data.addToLog("Response Code= ", con.getResponseCode() +": "+ con.getResponseMessage());

                            if (responseCode == HttpURLConnection.HTTP_OK) { // success
                                BufferedReader in = new BufferedReader(new InputStreamReader(
                                        con.getInputStream()));
                                String inputLine;
                                StringBuffer response = new StringBuffer();

                                while ((inputLine = in.readLine()) != null) {
                                    response.append(inputLine);
                                }
                                in.close();

                                // print result
                                data.addToLog("Response:", response.toString() );

THIS IS WHERE IT ERRORS OUT
                                JSONObject jsonResults = new JSONObject(response.toString());

                                JSONArray results = jsonResults.getJSONArray("items");
                                JSONObject column = results.getJSONObject(0);
                                JSONArray colarray = column.getJSONArray("rows");
                                data.addToLog("Array:", colarray.toString() );

                                     for (int index=0;index

思路:


帖子中提供的JSON无效。末尾缺少“}”。这可能是此行引发分析错误的原因。JSONObject jsonResults =新的JSONObject(response.toString());

以上内容就是爱站技术频道小编为大家分享的如何解析HttpsURLConnection的JSON结果,其中有些没有标题?看完以上分享之后,大家应该都知道如何解析了吧。

上一篇:怎么将十六进制字符串在Java中转换为双精度

下一篇:怎么操作docx4j查找和替换

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载