gpt4 book ai didi

java - 将 JSON 数据转换为关联数组

转载 作者:行者123 更新时间:2023-12-01 23:37:56 25 4
gpt4 key购买 nike

我有一个使用 Google 帐户进行身份验证的应用。作为对我的请求的响应,Google 发送了以下 JSON

{
"id": "ID",
"name": "NAME",
"given_name": "GiVEN NAME",
"family_name": "FAMILY_NAME",
"link": "https://plus.google.com/ID",
"picture": "https://PHOTO.jpg",
"gender": "GENDER",
"locale": "LOCALE"
}

问题是许多 Google 帐户没有填写所有这些详细信息。所以在大多数情况下 JSON 看起来像

{ "id": "ID", “区域设置”:“区域设置”}

因此,为了获取我需要的数据,我需要检查每个 JSON 以查看是否提供了姓名、图片、性别等,如果没有,则提示用户输入这些数据项。为此,我尝试了检查 JSONObject.getString("name") 等是否为 null。但应用程序没有完成 if 条件,而是跳到 JSON 异常。

所以我需要的是一种方法,将 Google 发送给我的 JSON 数据添加到带有键和值的关联数组中,并检查该数组以查看我需要的数据是否存在,而不会出现 JSON 异常。你知道吗有办法做到这一点吗?

抱歉我的英语不好。

最佳答案

您可以使用JSONObject.optString(String)

if ( "".equals( jsonObject.optString("name") ) ) {
// name is not present
}

根据 Javadoc:

public String optString (String name)

Returns the value mapped by name if it exists, coercing it if necessary. Returns the empty string if no such mapping exists.

关于java - 将 JSON 数据转换为关联数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18378505/

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