0

I am making an api call to an api built by not me, the response is an array of objects but it actually a string, so i can't do anything with it

i tried tinkering with the php file but i've never done anything with it so i have no idea

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();
}


expectation:

 [{
    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"
    }]

result:

"[{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"}]"
Christopher Ducote
  • 293
  • 1
  • 3
  • 7

1 Answers1

0

turns out the database had line-breaks in it causing the JSON to become invalid fixed by removing the line-breaks

Christopher Ducote
  • 293
  • 1
  • 3
  • 7