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