android - 如何获取 JSONArray 的第一个值?

标签 android json arrays

我的JSON代码如下:

returnString = "";          
        JSONArray jArray = new JSONArray(result);
        for(int i=0;i<jArray.length();i++){
            JSONObject json_data = jArray.getJSONObject(i);
            JSONObject c = json_data.getJSONObject("data");
            Log.i("log_tag","statues: "+c.getString("statues"));                
            returnString = c.getString("statues"); }

现在我想查看我的 JSONArray 中的值。 statues 的值为 0 或 1。此外,我将在 if else 短语中使用它们。

我的意思是这样的:

if(value of statues = 0){
do something}
else{
do something else}

我该怎么做?

最佳答案

如果您只想要 JSONArray 中的第一个状态值

要从 JSONArray 获取第一个值,只需在循环外和 if 语句之前执行:

JSONObject FirstArray = jArray.getJSONObject(0); // first Array in JSONArray
JSONObject data = FirstData.getString("data");
String FirstStatusValue = data.getString("Status");

然后将 FirstStatusValue 解析为 int 并在 if 中使用它。

我希望我理解你的问题,如果我没有理解,请纠正我

如果您想要 JSONArray 中的所有状态值

在 for 循环之前声明一个字符串数组并将所有状态值添加到其中然后循环:

String[] StatusArray = new String[jArray.length()]; // will make the status array has the same length as the JSONArray
for(int i=0;i<jArray.length();i++){
        JSONObject json_data = jArray.getJSONObject(i);
        JSONObject c = json_data.getJSONObject("data");
        Log.i("log_tag","statues: "+c.getString("statues"));
        StatusArray[i] = c.getString("status");
        }

然后 for if 语句添加 for 循环然后检查如下语句:

for (int i = 0; i < StatusArray.length(); i++)
{
   if (StatusArray[i] == 0)
      // do something
   else
      // do something

 }

关于android - 如何获取 JSONArray 的第一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20003009/

相关文章:

android - 除非断点,否则通知不会更新

android - 方法 retrieveRequestToken 引发 "Communication with the service provider failed: null"

json - 使用 jq 从 CSV 创建数组的哈希值

javascript - 通过 jQuery Mobile 中的 ID 从数组填充按钮值

android - 录音延迟

在 firebase 删除数据时删除 Android ListView

javascript - 如何将数组列表格式化为json

json - 在 Go 中解析 JSON 时如何指定默认值

arrays - React useState 这里似乎不接受默认值?

c++ - 在C++中将子整数保存在数组中