如何一次获取 2 个 json 对象?

Posted

技术标签:

【中文标题】如何一次获取 2 个 json 对象?【英文标题】:How to get 2 json objects at once? 【发布时间】:2019-06-17 03:04:26 【问题描述】:

我正在使用 volley 来获取 json 对象,我正在获取这样的数据

“结果用户”:19 "resultUser2":13

如何获得第二个(resultuser2)或两者?

try 
    JSONObject o = new JSONObject(response);
    String data = (String) o.get("resultUser2");
    if (!data.equals("")) 
        Toast.makeText(getApplicationContext(), "user2 id" + data, Toast.LENGTH_LONG).show();
        //UserDetailsActivty.this.finish();
     else 
        Toast.makeText(getApplicationContext(), "Ohh! Sorry,,Signing Up Failed ", Toast.LENGTH_LONG).show();
    
 catch (JSONException e) 
    e.printStackTrace();

【问题讨论】:

"resultUser":19 "resultUser2":13 不是有效的 JSON。将它们放入数组或重新设计方案。 制作场景 如果您无法将数据作为有效的 json。您可以尝试使用“”和一些字符串操作进行拆分,以使您的数据成为有效的 json。但我认为你应该找到一种方法来修复数据的来源 是的,我想到了这个主意 所以网络服务应该只返回一个值或数组? 【参考方案1】:

你可以像这样使用 JsonArray 来遍历所有的 jsonobjects

try 

JSONArray jsonArray = new JSONArray(response);

for (int i =0; i < jsonArray.length(); i++) 
JSONObject jsonObject = jsonArray.get(i);
//do whatever you want to do with the data

 catch(Exception e) 


【讨论】:

它给了我这个错误“foreach not applicable to type JSONArray”

以上是关于如何一次获取 2 个 json 对象?的主要内容,如果未能解决你的问题,请参考以下文章

C# JSON 反序列化:如何从 JSON 对象数组中获取值 [重复]

如何从 JSON 对象中获取特定的键值

Concat json to promise:如何从promise挂起的json对象中获取额外的键值对

如何使用 SwiftyJSON 从 JSON 对象中获取 JSON 密钥?

Json数据如何获取PHP的内容

获取json对象的长度