【问题标题】:having issue to display then data in angularjs via json array通过json数组在angularjs中显示数据时遇到问题
【发布时间】: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


【解决方案1】:

通过将字符串更改为数组来解决

 $product = "{name: '".$productName."', productid: '".$productID."' }";

用这个替换

$product = array("name"=> "".$productName."", "productid"=> "".$productID."");

【讨论】:

    猜你喜欢
    • 2021-04-13
    • 2018-09-17
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 2016-08-02
    • 2023-03-03
    • 2016-11-15
    • 1970-01-01
    相关资源
    最近更新 更多