【发布时间】:2017-11-11 21:31:33
【问题描述】:
我尝试通过 json 数据数组在 angularjs 中显示数据,但是当我从我的 php 文件返回 json 数据时,它给了我结果,但无法弄清楚或解决问题
["{name:'abc', age:19}","{name:'xyz', age:21}"]
但它不起作用,因为在 Angular 中我需要像这样格式的数据
[{name:'abc', age:19},{name:'xyz', age:21}]
现在的问题是我不知道如何重新排列我尝试过JSON.parse() 但它不起作用的数组格式
这是我的 php 代码
if($xml->product) {
foreach ($xml->product as $node ){
$productName = $node->name;
$productID = $node->productID;
$productPrice = $node->price;
$productURL = $node->imageURL;
$productCat = $node->categories->category;
//$product = "{name: '".$productName."', productid: '".$productID."' }";
$product = array("name"=> "".$productName."", "productid"=> "".$productID."");
array_push($data1, $product);
}} else {
echo "error!"; } print json_encode($data1);
问题已修复,实际上我在数组中传递字符串,然后使用 json 进行编码,这给了我这个双引号问题。现在我修复的是更改数组中的字符串并通过json传递它会自动将这些数组转换为对象:)
【问题讨论】:
-
这是json格式发布你的php代码的问题
-
所以基本上你得到了一个对象数组。只需解析对象。?
-
您愿意以角度来操作数据吗?因为如果你是那么你需要做的就是在列表中的每个字符串上使用 JSON.parse()
-
如果你可以看到第一个数组是有效的 JSON 格式,而第二个数组不是有效的 JSON 格式,那么如果你想显示数据 JSON.parse() 会帮助你..!!
-
是的,我使用 JSON.parse() 但它在 angularjs 中不起作用
标签: javascript php angularjs arrays json