有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何获取JSON数据的多个可选值?

JSON数据包含几个可选字段:

获取这些值的代码是:

String name = null;
String family_name = null;
String given_name = null;
String suffix_name = null;
try {
    JSONObject contact = new JSONObject("{\"givenName\":[\"John\"],\"familyName\":[\"Doe\"]}");

    name = contact.getJSONArray("name").getString(0);
    family_name = contact.getJSONArray("familyName").getString(0);
    given_name = contact.getJSONArray("givenName").getString(0);
    suffix_name = contact.getJSONArray("honorificPrefix").getString(0);
} catch (JSONException e) {
    Log.e("ContactsManager", "Failed to parse json data: "+e);
}

这里的问题是,如果“name”为null(如上面的示例所示),那么将无法检索所有其他字段,这不是我所期望的


共 (1) 个答案

  1. # 1 楼答案

    为什么不在阅读前加一张支票呢

    if (contact.has("name")) {
      name = contact.getJSONArray("name").getString(0);
    }