【问题标题】:Pass json to JAVA / ANDROID将 json 传递给 JAVA / ANDROID
【发布时间】:2016-04-27 16:29:36
【问题描述】:

嗨,我有这个 api 响应

{ 
"errors": {
    "last_name": [
      "required"
    ],
    "first_name": [
     "required"
    ],
    "password": [
     "required"
    ],
    "username": [
      "required"
    ],
    "email": [
       "required"
    ]
  }
}

我想传递给 Java 集合。

类似的东西 Map 错误;

但是当迭代时

Map<String, ArrayList> map = apiResponse.getErrors();
Map<String, ArrayList> map = apiResponse.getErrors();
for (Map.Entry<String, ArrayList> entry : map.entrySet())
{
Log.i("XXX", entry.getKey() + "/" + entry.getValue());
}

知道了

I/XXX: last_name/[requiered]
I/XXX: first_name/[requiered]
I/XXX: password/[requiered]
I/XXX: username/[requiered]
I/XXX: email/[requiered]

有什么办法可以避免“[”和“]”可能是另一种类型的集合(映射),或者其他东西而不是 ArrayList
(Map 错误;)

我正在使用 Gson 和 okHttp

【问题讨论】:

  • Map&lt;String, ArrayList&gt;... 为什么使用原始 ArrayList?这可能会在以后引起一些问题

标签: java android json arraylist


【解决方案1】:

您的entry.getValue() 应返回ArrayList[] 就是ArrayList.toString() 代表列表的方式。

您可以在日志调用之前添加另一个循环来迭代这些值。由于它们都有一个条目,因此没有[] 的结果将是相同的。

for(String e: entry.getValue()) { Log.i("XXX", entry.getKey() + "/" + e); }

【讨论】:

    猜你喜欢
    • 2018-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多