【问题标题】:create embedded json for autocomplete为自动完成创建嵌入式 json
【发布时间】:2026-02-11 21:25:01
【问题描述】:

我正在使用以下代码将来自数据库的数据制作为 json 格式

   public function employeeSearch()
    {
        $arrayOfEmployee = array();
        $arrayToPush = array();
        $arrayToJSON = array();

        $new_item = $this->apicaller->sendRequest(array(
            "controller" => "Employee",
            "action" => "employeeSearch",
            "searchCriteria" => "12345"
            ));

         $arrayOfEmployee = json_decode($new_item,true);

         foreach($arrayOfEmployee as $key => $employee)
         {
              $arrayToPush = array('data' => $employee['FullName'], 'value' => $employee['_id']['$oid']);
              array_push($arrayToJSON, $arrayToPush);
         }

        echo json_encode($arrayToJSON);
    }

输出是

   [{"data":"Aasiya Rashid Khan","value":"5aa662b0d2ccda095400022f"}, 
    {"data":"Sana Jeelani Khan","value":"5aa75d8fd2ccda0fa0006187"}, 
    {"data":"Asad Hussain Khan","value":"5aaa51ead2ccda0860002692"}, 
    {"data":"Ayesha Khan Khann","value":"5aab61b4d2ccda0bc400190f"}, 
    {"data":"adhar card name","value":"5aaba0e1d2ccda0bc4001910"}
    ]

现在我希望 json 元素看起来像

        {
"suggestions": [
    {
        "value": "Guilherand-Granges",
        "data": "750"
    },
    {
        "value": "Paris 01",
        "data": "750"
    }
    ]
    }

我必须在 jQuery 自动完成插件中实现这个... 请帮忙!!!

【问题讨论】:

  • 您现有的输出和所需的数据结构似乎没有共享任何值。例如,"Ayesha Khan Khann""Paris 01" 是如何相关的? "data": "750" 来自哪里(你真的想要"750",而不是750)?
  • 另外,你试过什么?

标签: php php-5.6


【解决方案1】:

将最后一行替换为

echo json_encode(["suggestions" => $arrayToJSON]);

这应该会产生想要的结果!

(仅当您认为valuename 中的数据不相同/相似时才成立)

【讨论】: