Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果退出相同值的android studio,如何对json数组数据进行分组_Android_Json - Fatal编程技术网

如果退出相同值的android studio,如何对json数组数据进行分组

如果退出相同值的android studio,如何对json数组数据进行分组,android,json,Android,Json,我有这样的Json, 我想按sub_名称分组以获取手机阵列,移动操作(每个阵列具有相同的数据值,仅获取阵列中的一个) 创建ArrayList并添加数据。在每次添加第二项之前,请检查ArrayList是否具有相同的数据,或者是否在ArrayList大小的帮助下使用for循环 不管我对你的查询有什么了解,我都写了这个代码 import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import org.json

我有这样的Json, 我想按sub_名称分组以获取手机阵列,移动操作(每个阵列具有相同的数据值,仅获取阵列中的一个)


创建ArrayList并添加数据。在每次添加第二项之前,请检查ArrayList是否具有相同的数据,或者是否在ArrayList大小的帮助下使用for循环

不管我对你的查询有什么了解,我都写了这个代码

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

ArrayList phones = new ArrayList<>();
ArrayList Mobile_Operation = new ArrayList<>();
String data = "  category: {\n" +
        "    cate: [\n" +
        "    {\n" +
        "    sub_id: \"568\",\n" +
        "    sub_name: \"Phones\",\n" +
        "    ns_id: \"17002\",\n" +
        "    ns_name: \"Mobile Phone\"\n" +
        "    },\n" +
        "    {\n" +
        "    sub_id: \"568\",\n" +
        "    sub_name: \"Phones\",\n" +
        "    ns_id: \"18787\",\n" +
        "    ns_name: \"Other Phones\"\n" +
        "    },\n" +
        "    {\n" +
        "    sub_id: \"372\",\n" +
        "    sub_name: \"Mobile Operation\",\n" +
        "    ns_id: \"3650\",\n" +
        "    ns_name: \"Sim Card\"\n" +
        "    }\n" +
        "    ]\n" +
        "    }";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    try {
        JSONObject jsonObject = new JSONObject(data);
        JSONObject categoryObject = jsonObject.getJSONObject("category");
        JSONArray jsonArray = categoryObject.getJSONArray("cate");
        for (int i = 0; i < jsonArray.length(); i++) {
            String datal = ((JSONObject) jsonArray.get(i)).getString("sub_name");
            if (datal.equalsIgnoreCase("Phones"))
                phones.add(jsonArray.get(i));
            else if (datal.equalsIgnoreCase("Mobile Operation"))
                Mobile_Operation.add(jsonArray.get(i));
        }
        Toast.makeText(this,((JSONObject)phones.get(1)).getString("ns_name"),Toast.LENGTH_SHORT).show();

    } catch (JSONException e) {
        e.printStackTrace();
    }
}
}
导入android.os.Bundle;
导入android.support.v7.app.AppActivity;
导入org.json.JSONArray;
导入org.json.JSONException;
导入org.json.JSONObject;
导入java.util.ArrayList;
公共类MainActivity扩展了AppCompatActivity{
ArrayList phones=新的ArrayList();
ArrayList Mobile_操作=新建ArrayList();
String data=“类别:{\n”+
“类别:[\n”+
“{\n”+
子单元id:“568\,\n”+
子单元名称:\'Phones\',\n+
ns\U id:“17002\,\n”+
“ns\U名称:\“手机\”\n”+
},\n+
“{\n”+
子单元id:“568\,\n”+
子单元名称:\'Phones\',\n+
ns\U id:“18787\,\n”+
“ns\U名称:\“其他电话\”\n”+
},\n+
“{\n”+
子单元id:“372\,\n”+
子单元名称:“移动操作”,\n+
ns\U id:“3650\,\n”+
“ns\U名称:\“Sim卡\”\n”+
“}\n”+
“]\n”+
"    }";
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
试一试{
JSONObject JSONObject=新的JSONObject(数据);
JSONObject categoryObject=JSONObject.getJSONObject(“类别”);
JSONArray JSONArray=categoryObject.getJSONArray(“cate”);
for(int i=0;i
在您的情况下,请尝试

String subName = "Phones";
JSONObject json = new JSONObject(jsonString);
JSONArray jsonArray = json.getJSONArray("cate");
JSONArray groupJsonWithSubName = new JSONArray();

for(int i=0; i < jsonArray.length(); i++){
    JSONObject jsonData = jsonArray.getJSONObject(i);

    if(jsonData.getString("sub_name").equals(subName){
         groupJsonWithSubName.put(jsonData);
    }
}
// in here groupJsonWithSubName will contains all json object which have sub_name="Phones"
String subName=“电话”;
JSONObject json=新的JSONObject(jsonString);
JSONArray JSONArray=json.getJSONArray(“cate”);
JSONArray组JSONWithSubName=新JSONArray();
for(int i=0;i
我不明白你的问题。请解释更多你在解析你的json吗?你一直在尝试什么?
String subName = "Phones";
JSONObject json = new JSONObject(jsonString);
JSONArray jsonArray = json.getJSONArray("cate");
JSONArray groupJsonWithSubName = new JSONArray();

for(int i=0; i < jsonArray.length(); i++){
    JSONObject jsonData = jsonArray.getJSONObject(i);

    if(jsonData.getString("sub_name").equals(subName){
         groupJsonWithSubName.put(jsonData);
    }
}
// in here groupJsonWithSubName will contains all json object which have sub_name="Phones"