Как вывести правильный JSON-массив объектов из php для вызова axios - PullRequest
0 голосов
/ 02 октября 2019

Я делаю вызов API для API, созданного не мной, ответом является массив объектов, но на самом деле это строка, поэтому я ничего не могу с этим поделать

Я попытался поработать сphp файл, но я никогда ничего с ним не делал, поэтому понятия не имею

try {

    $stmt = $conn->prepare($sql);
    $stmt->execute(array('partnumber'));
    $stmt->execute();
    $array = $stmt->fetchALL();
    sort($array);

//make Json file
    echo '[';
    foreach ($array as $key => $row) {
        $last = ($key !== count($array) - 1) ? "} , " : " }]";
        echo '{partnumber: "' . $row['partnumber'] . '", ';
        echo 'image: "/media/pic/' . $row['partnumber'] . '.jpg", ';
        echo 'retailPrice: "' . $row['retail'] . '", ';
        echo 'use: "' . $row['use'] . '"';
        echo $last;
    }
} catch (Exception $e) {
    echo $e->getMessage();
}


ожидание:

 [{
    partnumber: "12355",
    image: "/media/pic/111112W BN.jpg",
    retailPrice: "20.00",
    use: "living"
    },
    {
    partnumber: "125556665",
    image: "/media/pic/111112W WBZ.jpg",
    retailPrice: "20.00",
    use: "laundry, living"
    },
    {
    partnumber: "12355666666",
    image: "/media/pic/111122 BK.jpg",
    retailPrice: "0.00",
    use: "bedroom, closet, entry"
    },
    {
    partnumber: "1233333333",
    image: "/media/pic/111122 BN.jpg",
    retailPrice: "0.00",
    use: "bedroom, closet, entry, hall, laundry, living"
    }]

результат:

"[{partnumber: "10A19M60WCL", image: "/media/pic/10A19M60WCL.jpg", retailPrice: "0.00", use: "&"} , {partnumber: "10L27A19M8W", image: "/media/pic/10L27A19M8W.jpg", retailPrice: "0.00", use: "&"} , {partnumber: "10L27A19M8WD", image: "/media/pic/10L27A19M8WD.jpg", retailPrice: "0.00", use: "&"} , {partnumber: "10L27B11C5W", image: "/media/pic/10L27B11C5W.jpg", retailPrice: "0.00", use: "&"} , {partnumber: "10L27ST19M6W", image: "/media/pic/10L27ST19M6W.jpg", retailPrice: "0.00", use: "&"} , {partnumber: "10L30GU104W", image: "/media/pic/10L30GU104W.jpg", retailPrice: "0.00", use: "&"} , {partnumber: "111112W BN", image: "/media/pic/111112W BN.jpg", retailPrice: "20.00", use: "bedroom, closet, entry, hall, laundry, living"} , {partnumber: "111112W WBZ", image: "/media/pic/111112W WBZ.jpg", retailPrice: "20.00", use: "bedroom, closet, entry, hall, laundry, living"}]"

1 Ответ

0 голосов
/ 11 октября 2019

оказывается, что в базе данных были разрывы строк, в результате чего JSON стал недействительным, исправлено путем удаления разрывов строк

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...