gpt4 book ai didi

java - Android 应用程序中抛出 JSONException

转载 作者:行者123 更新时间:2023-12-01 07:24:23 26 4
gpt4 key购买 nike

我有一个 iOS 应用程序和一个 Android 应用程序,可以使用 RESTFul Web 服务。

当我向服务进行查询时,我得到一个像这样返回的 JSON 对象。

[
{
"id": 21,
"device_id": "xxxxxxxxxxx",
"api_key": "yyyyyyyyyy",
"customer_id": 28,
"created_at": "2014-12-08T11:21:01.517Z",
"updated_at": "2014-12-13T04:40:44.295Z",
"registered_at": "2014-12-08T11:22:49.960Z",
"install_date": "2014-11-18",
"serial_number": "1121113",
"last_communication_at": "2014-12-13T04:40:44.283Z",
"avg": null,
"min": null,
"max": null,
"usage_updated_at": null,
"usage_period_days": null,
"settings_change_upload_interval": 5,
"stats_upload_interval": 1440
}
]

iOS 检索和解析 JSON 信息没有问题。

在 Android 上,我尝试使用 JSONObject 序列化我收到的响应(顺便说一句,我从 URL 请求中获取了有效的状态代码 200)

JSONObject myObject = new JSONObject(result);

但这会引发异常,表明 JSONObject 的格式不正确。

我对 API 的其他调用工作正常,因此导致问题的是这个特定的 JSONObject。是因为其中一些值由于尚未在数据库中设置而返回为 null 吗?

就像我说的,这个数据包的 iOS JSON 序列化工作得很好。

最佳答案

您正在尝试将数组解析为对象,这就是它给出异常的原因。另外,不要忘记在它周围放置一个 try-catch block 。

使用这个

try
{
JSONArray myArr = new JSONArray(result);
JSONObject myObj = myArr.getJSONObject(0);
int id = myObj.getInt("id");
}
catch (JSONException e)
{
e.printStackTrace();
}

关于java - Android 应用程序中抛出 JSONException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27909134/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com