我正在使用CodeIgniter,因为我需要从控制器
解析json字符串这是我的代码:
public function autosuggest_country(){
$query = $this->db->query("SELECT country, count(country) as `Total` FROM list GROUP BY country");
//echo"<pre>"; print_r($query->result());
echo json_encode($query->result()); }
获取输出
[{"country":"Colombia","Total":"1"},{"country":"Estonia","Total":"1"},{"country":"India","Total":"13"},{"country":"Mexico","Total":"1"},{"country":"USA","Total":"1"}]
我不知道如何将这个json类型的输出解析为$ .getJSON()数据参数?
先谢谢
答案 0 :(得分:2)
请仔细阅读jQuery api页面中的 getJSON()方法。
所有内容都描述了如何根据您的要求处理您的json数据。
getJSON()是Ajax函数的简写,相当于
$.ajax({
dataType: "json",
url: url,
data: data,
success: success
});
因此,您可以轻松访问以下网址中描述的json数据。
答案 1 :(得分:1)
如果你有
var obj = '[{"country":"Colombia","Total":"1"},{"country":"Estonia","Total":"1"},{"country":"India","Total":"13"},{"country":"Mexico","Total":"1"},{"country":"USA","Total":"1"}]'
你可以使用JSON.parse(obj);
,它的普通/ vanila javascript。 Example
有关 JSON.parse()
的更多信息如果您使用的是jQuery ajax,则可以将dataType设置为json:
“json”:将响应计算为JSON并返回JavaScript对象。 JSON数据以严格的方式解析;任何格式错误的JSON都会被拒绝,并抛出一个解析错误。从jQuery 1.9开始,空响应也被拒绝;服务器应该返回null或{}的响应。 (有关正确的JSON格式的更多信息,请参阅json.org。)
这是标准的ajax代码的样子:
$.ajax({
type: "GET",
url: "yourfile.php",
dataType: "json",
success: function(data, text){
//here is your object "data"
}
});