响应出现JSON格式问题
JSON Format Issue with response
我正在尝试使用bootstrap typeahead插件,但我需要获得正确的JSON输出。
根据本页上的最后一个示例,您可以在JSON响应中使用不止一个key->value
:http://twitter.github.io/typeahead.js/examples/
以下是我的PHP代码:
$objDB = new DB;
$xml = $objDB->setStoredProc('shadowGetEmp')
-> setParam("ntid", $query)
-> execStoredProc()
-> parseXML();
foreach($xml->emp as $emp){
$name = $emp->FirstName .' '. $emp->LastName;
$qid = $emp->QID;
$empID = $emp->EmpID;
$users[] = array('name'=> $name, 'qid'=> $qid, 'empID'=> $empID);
}
header('Content-Type: application/json');
echo json_encode($users);
JSON响应如下所示:
[{
"name": "John Doe",
"qid": {
"0": "Q1234"
},
"empID": {
"0": "123"
}
}, {
"name": "Bob Jones",
"qid": {
"0": "Q5678"
},
"empID": {
"0": "456"
}
}, {
"name": "Mike James",
"qid": {
"0": "Q2233"
},
"empID": {
"0": "789"
}
}, {
"name": "Harry Potter",
"qid": {
"0": "Q2212"
},
"empID": {
"0": "223"
}
}]
如何将响应格式化为正确的JSON输出?
我认为这是因为关联数组,但不确定如何包含不仅仅是一个键/值和格式化JSON。
看起来$emp->QID
和$emp->EmpID
正在返回一个包含一个元素的数组。
要么修复在$emp
实例中分配这些变量的代码(更好的是,这些变量应该只是数字/id值,而不是数组),要么在这里进行补偿(肮脏的解决方案,但会起作用)。
相关文章:
- 格式问题:下拉复选框
- JSON 格式问题
- 响应出现JSON格式问题
- 反应格式问题
- Chrome 扩展程序 - 将 CSV 文件上传到 Dropbox 格式问题
- Angularjs - javascript 日期格式问题
- 使用 momentjs 和引导日历时的日期格式问题
- JSON,JAXB,格式问题
- WordPress格式问题 - 存档和间距
- 复制时 JQuery 日期选取器日期格式问题
- D3 堆栈区域数据格式问题
- 姜戈模板 - 日期格式问题
- d3包布局中的Json格式问题
- Javascript Web API JSON解析格式问题
- 将表格导出为CSV字符串格式问题到单独的单元格中
- 通过电子邮件发送HTML-格式问题
- jQuery之后的文本格式问题
- JSON到jQuery/JavaScript的日期格式问题
- Ext.data.store POST数据为JSON格式问题
- DB到JSP:解决数字格式问题的最佳方法是什么