我正在开发一个使用 JSON 进行服务器通信的 Android 应用程序,当我尝试解析我的 json 文件时遇到了一个奇怪的问题。
这是我来自服务器的 json
{
"street2": null,
"province": null,
"street1": null,
"postalCode": null,
"country": null,
"city": null
}
我通过调用String city = address.optString("city", "")
我的地址 Json 对象来获得 City 的价值。对于这种情况,我希望city
为空(这就是 optString 的用途,不是吗?)但实际上它包含字符串“null”。因此,进一步的 null 或 isEmpty 检查将返回 false,因为 String 包含文本。如果我调用address.isNull("city")
它返回 true ,这是正确的。只会optString
失败。
对于这个问题,我在 Google 或 Stackoverflow 上找不到任何东西。我真的不明白它是如何发生的,因为我认为它optString
会完全符合我的预期。有人知道这里出了什么问题吗?