解析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;