从slim micro framework API解析android上的JSON

时间:2017-03-05 13:31:12

标签: java android json parsing slim

如何解析这种类型的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();

?>

1 个答案:

答案 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()。如果它不是,那么你需要迭代它并设置一个关联数组。