[对象值使用JSON解析显示具有相同名称的对象和字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[对象值使用JSON解析显示具有相同名称的对象和字符串相关的知识,希望对你有一定的参考价值。

嗨,以下内容不在JSON对象块的内部,并且不返回任何内容。在以下响应中,如果值是JSON对象,则应返回值。如果不是对象,则应进入else块并返回字符串。

有人可以帮助我解决问题吗?

响应:

{
  "name": "account_id",
  "value": {
      "value": "11x52925",
      "label": "VS Hospital"
  },
  "label": "Account Name",
  "uitype": "51",
  "type": {
      "defaultValue": null
  }
},

accounts.java:

if (name.equals("account_id")) {
   Object values = synFields1.getValue();

   try {

       if (values instanceof JSONObject) {
           JSONObject jsonObject1 = new
             JSONObject(String.valueOf(synFields1.getValue()));
           String value = jsonObject1.getString("label");
           account_name.add(value);
       }
       else if (values instanceof String) {
           //here, you get a string

           //account_name.addAll(value);
           String value_names = String.valueOf(synFields1.getValue());
           String value_label = String.valueOf(synFields1.getLabel());
           // Log.e("account_name", 
           String.valueOf(account_name.add(value)));
           account_name.add(value_label );

           //account_name.add(value);
       }

   } catch (JSONException e) {
       e.printStackTrace();
   }
}

预期输出:VS医院

答案

使用GSON制作对象这是经过测试的代码

以上是关于[对象值使用JSON解析显示具有相同名称的对象和字符串的主要内容,如果未能解决你的问题,请参考以下文章

在 Kotlin 中使用 Moshi 和 Retrofit 解析具有增量对象名称的 JSON

使用角度js将具有相同ID的重复对象从json数据合并为单个对象

如何组合具有相同名称的 JSON 对象?

Vuejs 和 HTML 动态创建复杂的 JSON 对象并使用 V-for 向用户显示相同的对象

合并具有相同属性值的json对象c#

如何将具有不同值的相同 JSON 对象反序列化为 java 类