如何解析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结果,其中有些没有标题?看完以上分享之后,大家应该都知道如何解析了吧。