Json_encode响应int数组

时间:2014-11-26 06:41:15

标签: php android json

美好的一天,

我是PHPJSON的新手,

我的回复如下:

{"products":[{"price":"52.00"},{"price":"11.00"},{"price":"123.00"},{"price":"12.00"},{"price":"1.00"},{"price":"145.00"},{"price":"123.00"}],"success":1}

现在,我必须在textView (totalTextView)中显示我的Android应用程序中的Total Pice 任何人都可以帮助我。

这是我申请截止日期28Nov 14的关键部分 请将非常感谢。

我的PHP代码:

<?php

/*
* Following code will list all the prices
*/

// array for JSON response
$response = array();


// include db connect class
require_once __DIR__ . '/db_connect.php';

// connecting to db
$db = new DB_CONNECT();

// get all products from products table
$result = mysql_query("SELECT *FROM products") or die(mysql_error());

// check for empty result
if (mysql_num_rows($result) > 0) {
// looping through all results
// products node
$response["products"] = array();

while ($row = mysql_fetch_array($result)) {
    // temp user array
    $product = array();
    $product["price"] = $row["price"];

    // push single product into final response array
    array_push($response["products"], $product);
}
// success
$response["success"] = 1;

// echoing JSON response
echo json_encode($response);
} else {
// no products found
$response["success"] = 0;
$response["message"] = "No products found";

// echo no users JSON


error_reporting(E_ALL ^ E_DEPRECATED);
echo json_encode($response);
}
?>

5 个答案:

答案 0 :(得分:0)

您可以使用JSONObject。它在实例化时也接受String参数。

了解更多here

答案 1 :(得分:0)

我正在使用gson;)...我认为,这是最好的方式而且非常简单:)

http://www.javacodegeeks.com/2011/01/android-json-parsing-gson-tutorial.html

答案 2 :(得分:0)

首先,如果您不打算向products数组添加任何列,那么这是一个丑陋的JSON响应。换句话说,如果他们都是“价格”将它们保持为价格数组,则不需要产品。无论我认为解析对int数组的响应都是这样的(虽然没有测试):

JSONObject jsonObject = new JSONObject(responseString); //In case the response isn't JSONObject.
JSONArray jsonArray = jsonObject.getJSONArray("products");
int[] priceArray = new priceArray[jsonArray.length()];

for(int i=0;i<jsonArray.length();i++){
    JsonObject element = jsonArray.getJSONObject(i);
    priceArray[i] = element.getInt("price");
}

答案 3 :(得分:0)

请在脚本中使用以下行:

$response = array();
$product["products"] = array();
while ($row = mysql_fetch_array($result)) {

    $product["products"][]["price"] = $row["price"];

}

$response = array_merge($response, $product);

答案 4 :(得分:0)

while ($row = mysql_fetch_array($result)) {
    // temp user array
    $product = array();
    $product["price"] = $row["price"];
    $total_price += $row["price"];
    // push single product into final response array
    array_push($response["products"], $product);
}
// success
$response["success"] = 1;
$response['total_price']=$total_price;