如何解析这种类型的JSON?我能找到的所有信息都是关于包含表名的数据,但是我没有表名,只有这样的字符串:
{
"fk_Company": "1",
"id_Article": "42614",
"Reference": "M520345",
"Designation": "FEUX AVD BOXER",
"fk_ArtFam": null,
"fk_ArtTyp": null,
"fk_ArtCatg": null,
"fk_Marque": null,
"TxMarge": " 25 ",
"PVTTC": " 14.479 ",
"Vendable": null,
"Etat": null,
"DateCrt": null
}
index.php
(api slim framework):
<?php
require 'vendor/autoload.php';
function connex(){
$serveur = "127.0.0.1";
$username = "root";
$password = "";
$db = "bms1";
$conn = new mysqli($serveur, $username, $password, $db);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
return $conn;
}
$app = new Slim\App();
$app->get('/articles', function ($request, $response, $args) {
$con=connex();
$new="";
$sql = "SELECT * FROM bms_op_article";
$result = $con->query($sql);
foreach($result as $ligne){
$new.=$response->withJson($ligne);
}
return $new;
});
$app->run();
?>
答案 0 :(得分:0)
我完全不清楚你的问题是什么。
但是,您对$response->withJson()
的使用不正确。 $response->withJson()
接受一个关联数组,并在正文中返回一个带有JSON的Response对象,因此应该像这样使用:
$app->get('/test', function ($request, $response, $args) {
$dataToReturn = [
"name": "Rob",
"email": "rob@example.com",
];
return $response->withJson($data);
});
目前还不清楚代码中的$result
是什么。如果它是关联数组,您可以直接将其传递给withJson()
。如果它不是,那么你需要迭代它并设置一个关联数组。