Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.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
解析JSON时出错-jsonarray没有值,PHP错误?_Php_Android_Json_Android Asynctask - Fatal编程技术网

解析JSON时出错-jsonarray没有值,PHP错误?

解析JSON时出错-jsonarray没有值,PHP错误?,php,android,json,android-asynctask,Php,Android,Json,Android Asynctask,** 我无法解析数据。我的代码有什么问题? 我是Android的新手,在这里我完全是一片空白。任何帮助都将不胜感激 我在这里试过各种各样的东西。 如果我必须从数据库中检索图像并在Android中的ListView或customview中显示它们,该怎么办?从JSON中删除重复的键,如product,success,使用PHP代码格式化JSON,并使其如下图所示,这有助于您轻松解析JSON。 例如: 如果您能够像上面那样创建JSON。然后您可以使用下面的代码解析它 {"product":[{"pi

**

我无法解析数据。我的代码有什么问题?
我是Android的新手,在这里我完全是一片空白。任何帮助都将不胜感激
我在这里试过各种各样的东西。

如果我必须从数据库中检索图像并在Android中的
ListView
或customview中显示它们,该怎么办?

从JSON中删除重复的键,如
product,success
,使用PHP代码格式化JSON,并使其如下图所示,这有助于您轻松解析JSON。 例如:

如果您能够像上面那样创建JSON。然后您可以使用下面的代码解析它

{"product":[{"pid":"1","name":"sid"},{"pid":"2‌​","name":"shef"}],"success":"1","value":"true"}
JSONArray productDetailsJsonArr=reader.getJSONArray(“产品”);
对于(int i=0;i
试试这个:

                   JSONArray productDetailsJsonArr = reader.getJSONArray("product");
                   for (int i = 0; i < productDetailsJsonArr.length(); i++) {
                        JSONObject pJsonObj = productDetailsJsonArr.getJSONObject(i);
                        String pid = pJsonObj.getString("pid");
                        String sid = pJsonObj.getString("sid");
                    }

                    String success = reader.getString("success");
                    String value = reader.getString("value");

您的
doInBackground
代码有问题

JSONArray json=jParser.makeHttpRequest(url\u所有产品,“GET”,参数)


在这里,您可以在
json
变量中获取数据,而在任何地方您都无法使用它

请尝试运行php以查看是否有所需的输出,如果没有问题,请查看您的应用程序请发布您的json@Rajsundar:我可以在调试日志中看到它:{“产品”:[{“pid”:“1”,“名称”:“sid”}],{“产品”:[{“pid”:“1”,“名称”:“sid”},{“pid”:“2”,“name”:“shef”}sry请检查Json格式,您的解析错误[“true”,“product”:[{“pid”:“1”,“name”:“sid”}],“success”:1},{“product”:[{“pid”:“2”,“name”:“shef”}],“success”:1}[“true”,“product”:{“pid”:“2”,“name”:“shef”},“success”:1}]返回此消息。没有帮助。:/预期的O/p是什么?[“true”,{“product”:“pid”;“name”:“id”;“sid”成功:1},{“产品”:[{“pid”:“2”‌​“,”name“:”shef“}],”success“:1}]@Irfan,为我上面的ans json添加代码段。谢谢,基本上我只需要pid和名称!问题是如何:“:P[”true“,{”pid“:”1”,“name“:”sid“},{”pid“:”2”,“name“:”shef“}]这样正确吗?
09-07 14:54:00.285: D/AbsListView(10521): Get MotionRecognitionManager
09-07 14:54:00.290: D/ProgressBar(10521): setProgress = 0
09-07 14:54:00.290: D/ProgressBar(10521): setProgress = 0, fromUser = false
09-07 14:54:00.290: D/ProgressBar(10521): mProgress = 0mIndeterminate = false, mMin = 0, mMax = 10000
09-07 14:54:00.310: D/AbsListView(10521): onVisibilityChanged() is called, visibility : 4
09-07 14:54:00.310: D/AbsListView(10521): unregisterIRListener() is called 
09-07 14:54:00.310: D/AbsListView(10521): onVisibilityChanged() is called, visibility : 0
09-07 14:54:00.310: D/AbsListView(10521): unregisterIRListener() is called 
09-07 14:54:00.335: D/ProgressBar(10521): updateDrawableBounds: left = 0
09-07 14:54:00.335: D/ProgressBar(10521): updateDrawableBounds: top = 0
09-07 14:54:00.335: D/ProgressBar(10521): updateDrawableBounds: right = 96
09-07 14:54:00.335: D/ProgressBar(10521): updateDrawableBounds: bottom = 96
09-07 14:54:00.395: D/AbsListView(10521): unregisterIRListener() is called 
09-07 14:54:00.445: D/AbsListView(10521): unregisterIRListener() is called 
09-07 14:54:00.520: D/All Products:(10521): ["true",{"product":[{"pid":"1","name":"sid"}],"success":1},{"product":[{"pid":"2","name":"shef"}],"success":1}]
09-07 14:54:00.520: W/System.err(10521): org.json.JSONException: No value for true
09-07 14:54:00.525: W/System.err(10521):    at org.json.JSONObject.get(JSONObject.java:354)
09-07 14:54:00.525: W/System.err(10521):    at org.json.JSONObject.getJSONArray(JSONObject.java:548)
09-07 14:54:00.525: W/System.err(10521):    at com.example.jsontry.AllProductsActivity$LoadAllProducts.doInBackground(AllProductsActivity.java:104)
09-07 14:54:00.525: W/System.err(10521):    at com.example.jsontry.AllProductsActivity$LoadAllProducts.doInBackground(AllProductsActivity.java:1)
09-07 14:54:00.525: W/System.err(10521):    at android.os.AsyncTask$2.call(AsyncTask.java:287)
09-07 14:54:00.525: W/System.err(10521):    at java.util.concurrent.FutureTask.run(FutureTask.java:234)
09-07 14:54:00.525: W/System.err(10521):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
09-07 14:54:00.525: W/System.err(10521):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
09-07 14:54:00.525: W/System.err(10521):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
09-07 14:54:00.525: W/System.err(10521):    at java.lang.Thread.run(Thread.java:841)
09-07 14:54:00.760: D/AbsListView(10521): unregisterIRListener() is called 
09-07 14:54:00.890: D/AbsListView(10521): onDetachedFromWindow
{"product":[{"pid":"1","name":"sid"},{"pid":"2‌​","name":"shef"}],"success":"1","value":"true"}
                   JSONArray productDetailsJsonArr = reader.getJSONArray("product");
                   for (int i = 0; i < productDetailsJsonArr.length(); i++) {
                        JSONObject pJsonObj = productDetailsJsonArr.getJSONObject(i);
                        String pid = pJsonObj.getString("pid");
                        String sid = pJsonObj.getString("sid");
                    }

                    String success = reader.getString("success");
                    String value = reader.getString("value");
while($row = $stmt->fetch(PDO::FETCH_ASSOC))
{

        $product = array();
        $product["pid"] = $row["pid"];
        $product["name"] = $row["name"];
        $response["product"] = $product;
        unset($product);
 }
    $response["success"] = 1;
    $json[]= $response;