代码之家  ›  专栏  ›  技术社区  ›  zac

如何更改和抑制JSON结果中的一些字段键名?

php
  •  -1
  • zac  · 技术社区  · 6 年前

    我正在使用curl从api获取json结果。结果是这样的

    {
    Count: 2,
    Message: "Results returned successfully",
    Results: [
    {
    myDescription: "test",
    myid: 9403
    },
    {
    myDescription: "test2",
    myId: 9408
    }}]}
    

    我需要抑制“消息”并将“myDescription”更改为“Description”我如何才能做到这一点?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Ionuț Popescu    6 年前

    有效的json:

    {
       "Count":2,
       "Message":"Results returned successfully",
       "Results":[
          {
             "myDescription":"test",
             "myId":9403
          },
          {
             "myDescription":"test2",
             "myId":9408
          }
       ]
    }
    

    Php代码:

    <?php
        $jsondata = json_decode($json, true);//$json - your json string
        unset($jsondata["Message"]);
        foreach($jsondata["Results"] as $key => $result)
        {
            $jsondata["Results"][$key]['Description'] = $result['myDescription'];
            unset($jsondata["Results"][$key]['myDescription']);
        }
    
        $json_new = json_encode($jsondata);//if you want to remake the json