2012-03-10 69 views
0

我想知道如何使用json_encode()PHP制作基于JSON的数组; 数组的格式应该看起来像这样。我该如何在PHP中制作基于JSON的数组

callback([{"ProductID":1,"ProductName":"Chai","UnitPrice":18,"UnitsInStock":39,"Discontinued":false}]) 

当我们需要在这个header("Content-type: application/json");

UPDATE

在上面的格式

可以看到格式检查数值,json_encode没有提到双引号的数值。我只想配置这种格式的Mysql值,如不带双引号的数值,以及带双引号的字符串值。我们应该配置这种格式的MySQL值。

感谢

+2

让我猜。你甚至没有尝试过。 – 2012-03-10 04:16:38

+0

是的,我尝试了很多,但我们以这种风格“http://www.octave-global.com/portal/tool/”得到了这个,但我们需要在这种风格上实现它。 “http://demos.kendoui.c​​om/service/Products”......主要的区别是--------------- callback([{“ProductID”:1, “ProductName”:“Chai”---------------不在productID中的双引号(http://demos.kendoui.c​​om/service/Products在此url中)和ID --- --------- callback([{“ID”:“185”,“Title”:“DISH Network”} -------------双引号在ID(http ://www.octave-global.com/portal/tool/在这个网址中)........我们必须为这两个网址制作相似的格式。 – user1089288 2012-03-10 04:23:56

+1

@ user1089288:更新你的问题,而不是发布这个 – Tadeck 2012-03-10 04:25:17

回答

0

例子:

$array = array(
    'ProductID' => 1, 
    'ProductName' => 'Chai', 
    'UnitPrice' => 18, 
    'UnitsInStock' => 39, 
    'Discontinued' => false 
); 
header("Content-type: application/json"); 
echo json_encode($array); 
+0

我们如何配置这个MYSQL值? – user1089288 2012-03-10 04:31:41

+2

只需要替换数组变量 - $ array = mysql_fetch_array($ query);然后输出如上所述的头文件和json_encode。 – 2012-03-10 04:44:53

1

编辑:看样子你试图服务JSONP,JSON不是。 JSONP应该给application/javascript内容类型是这样的:

header("Content-type: application/javascript"); 
$json = json_encode(
    array(
     array(
      "ProductID" => 1, 
      "ProductName" => "Chai", 
      "UnitPrice" => 18, 
      "UnitsInStock" => 39, 
      "Discontinued" => false 
     ) 
    ) 
); 
echo "callback({$json})"; 
+0

我们如何配置MYSQL值? – user1089288 2012-03-10 04:33:23

+0

如果一个数值被传递给json_encode,它将是en编码没有引号。如果它用引号(即一个字符串,而不是数字)传递,它将在编码的JSON字符串中保持引用。 – kingjeffrey 2012-03-10 05:13:38