代码之家  ›  专栏  ›  技术社区  ›  DaFois Jeet Patel

SLIM框架中的畸形JSON

  •  0
  • DaFois Jeet Patel  · 技术社区  · 6 年前

    我把这个放在 路线 以下内容:

    echo '{"result":{"code":"200","status":"success","data":'.$response->withJson($rows,200,0).'}}';
    

    返回此json:

    {"result":{"code":"200","status":"success","data":HTTP/1.1 200 OK
    Content-Type: application/json;charset=utf-8 [{"id":23,"ragionesociale":"consumatore","indirizzo":"000","comune":"000","provincia":71,"cap":"000","idprovincia_camera":71,"telefono":"000","fax":"000","sitoweb":"0","email":"info@000.it","codice_promo":"xxxxx","password":"xxxxx","data_adesione":"2014-09-26 07:52:23","attivato":1,"costo":0,"tipologia":1,"iva":22,"alias":"prova-it4italy-srl","pagamento":1,"merchantorderid":null,"mybankid":null,"pending":0,"paymentid":null,"logo":"","nome":null,"cognome":null,"sesso":1,"datanascita":null,"eta":null,"nazione":null,"tipologia_utente":1,"fb_token":null,"fb_id":null,"gp_token":null,"gp_id":null,"profile_img":null,"citta":null,"param":null}]}}
    

    问题是,我在数据中接收到第二个响应头,这会破坏json。 我想得到这样的答复:

    {"result":{"code":"200","status":"success","data":[{"id":23,"ragionesociale":"consumatore","indirizzo":"000",....
    

    在斯利姆有没有办法不打印 HTTP/1.1 200 OK Content-Type: application/json;charset=utf-8 加入json?

    1 回复  |  直到 6 年前
        1
  •  1
  •   DeadLock    6 年前

    $response->withJson() 响应的内容类型自动设置为 application/json;charset=utf-8 以及默认的200 HTTP状态代码。所以你不必手动添加。

    response->withJson()

    所以只要做下面的事情就足够了。

    $result = new stdClass(); 
    $result->result = new stdClass(); 
    $result->result->code = "200";
    $result->result->status= "success";
    $result->result->data = $rows;
    
    echo $response->withJson($result);