使用 JSONArray 中返回的值(整数)

Posted

技术标签:

【中文标题】使用 JSONArray 中返回的值(整数)【英文标题】:Use values (integers) returned in JSONArray 【发布时间】:2014-03-03 00:26:19 【问题描述】:

我无法从这个 JSON 数组中获得单独的响应。我正在尝试编写一些代码,让我可以单独使用这些值,以及如果我也需要如何组合它们。这些响应总是整数。

Java

JSONObject jsonObj = new JSONObject(jsonStr);
data_array = jsonObj.getJSONArray("data");

  for (int i = 0; i < data_array.length(); i++) 

      JSONObject prod = data_array.getJSONObject(i);
          Log.d("Logging Response", prod);

json

[5652,8388,8388,7537,8843,2039,8235,0,12220]

我想弄清楚如何将它们加在一起并返回计算结果,以及如何单独使用它们。比如 (prod + prod + prod) 等等……

【问题讨论】:

您在响应中得到[5652,8388,8388,7537,8843,2039,8235,0,12220] String 还是在 JSONArray 的内部 JSONObject 中? 我不太确定我是否正确,您的问题是要遍历数组或产品吗?在这种情况下,您可以使用“for (var n in yourObject)”。 你想把那个json数组数据放入一个新的json对象吗? 【参考方案1】:
JSONArray data = jsonObj.getJSONArray("data");
for (int i = 0; i < data.length(); i++) 
    Integer prod = (Integer) data.get(i);
    System.out.println("Prod " + prod);
    // loop and add it to array or arraylist

【讨论】:

【参考方案2】:

你有 jsonarray 作为响应

ArrayList<Integer> jsonvalue=new ArrayList<Integer>();
    for (int i = 0; i < data_array.length(); i++) 

      int i=     data_array.getInt(i);
jsonValue.add(i)
        

【讨论】:

【参考方案3】:

要将 json 数组数据放入新的 json 对象,请尝试以下操作:

JSONObject jsonObj = new JSONObject(jsonStr);
data_array = jsonObj.getJSONArray("data");
JSONObject prod;

for (int i = 0; i < data_array.length(); i++) 
  prod.put(i,data_array.getJSONObject(i));
      Log.d("Logging Response", prod);

【讨论】:

【参考方案4】:
 JSONArray jsonObj = new JSONArray(jsonStr);
            
            for (int i = 0; i < jsonObj.length(); i++) 
                System.out.println(jsonObj.getString(i));
            

【讨论】:

以上是关于使用 JSONArray 中返回的值(整数)的主要内容,如果未能解决你的问题,请参考以下文章

json文本装换为JSONArray

jsonObject和JsonArray转化String

如何访问json数组中的值

从 Java 中的 JSONArray 获取一组整数?

如何获取jsonarray中 某个值

SONObjetc和String Map Bean互转,JSONArray和String List互转