Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.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
如何在java中使用json?_Java_Android_Json_Api - Fatal编程技术网

如何在java中使用json?

如何在java中使用json?,java,android,json,api,Java,Android,Json,Api,我正在从事一个Android项目,在这个项目中,我使用Volley来使用Api。查询正确完成,下一个JSON返回给我。我试图用java访问这个jsonArray的元素 [ { "Estado": 1, "_id": "5dfd27fb971f730f31cc12d5", "empresas": "5dfbeec1f87e0e3030b38143", "Codigo": "1001AZXL001", "Codi

我正在从事一个Android项目,在这个项目中,我使用Volley来使用Api。查询正确完成,下一个JSON返回给我。我试图用java访问这个jsonArray的元素

[
    {
        "Estado": 1,
        "_id": "5dfd27fb971f730f31cc12d5",
        "empresas": "5dfbeec1f87e0e3030b38143",
        "Codigo": "1001AZXL001",
        "Codigo_Barras": "7702345654127",
        "Descripcion": "JEAN talla XL ",
        "Detalles": [
            {
                "_id": "5dfd27fb971f730f31cc12d7",
                "bodegas": "5dfd2383971f730f31cc12cf",
                "Cantidad": 6,
                "Precio": 150000,
                "Unidad_Medida": "UND"
            },
            {
                "_id": "5dfd27fb971f730f31cc12d6",
                "bodegas": "5dfd23b7971f730f31cc12d0",
                "Cantidad": 15,
                "Precio": 150000,
                "Unidad_Medida": "UND"
            }
        ],
        "Talla": "XL",
        "Color": "AZ",
        "Minimo": 5000,
        "Maximo": 30000,
        "Fecha_Creacion": "2019-12-20T19:58:51.720Z"
    }
]
为此,我使用以下代码

 public void onResponse(JSONArray jsonArray) {

                         for(int i = 0; i < jsonArray.length(); i++) {
                                try {
                                    JSONObject jsonObject = jsonArray.getJSONObject(i);
                                    descripcionProducto = jsonObject.getString("Descripcion");
                                    tallaProducto = jsonObject.getString("Talla");
                                    txtDescripcion.setText(descripcionProducto);
                                    txtUnidades.setText(tallaProducto);

                                }
                                catch(JSONException e) {

                                }
                            }
                        }

public void onResponse(JSONArray-JSONArray){
for(int i=0;i

但是我无法访问“Detalles”对象中的元素这是另一个Jsonarray,如果您想获取其中的数据,需要获取Jsonarray并从中读取数据

JSONArray array  = jsonObject.getJSONArray("Detalles")
如果需要此阵列中的数据,您可以像以前一样访问这些数据

使用以下方法:

public void onResponse(JSONArray jsonArray) {

 for(int i = 0; i < jsonArray.length(); i++) {
        try {
            JSONObject jsonObject = jsonArray.getJSONObject(i);
            descripcionProducto = jsonObject.getString("Descripcion");
            tallaProducto = jsonObject.getString("Talla");
            txtDescripcion.setText(descripcionProducto);
            txtUnidades.setText(tallaProducto); 

            JSONArray array  = jsonObject.getJSONArray("Detalles")
            for(int j = 0; j < array.length() ; ++j){
            try{
              JSONObject jsonObject2 = array.getJSONObject(j);
              //ACCESS THE PARAMETERS OF detalles HERE FOR EX :
              String bodegas = jsonObject2.getString("bodegas");
               }catch(JSONException e) {}
           }

        }
        catch(JSONException e) {

        }
    }
}
public void onResponse(JSONArray-JSONArray){
for(int i=0;i
你说“无法访问元素”是什么意思?您如何尝试访问它们?