私は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()データパラメータに解析する方法を知りませんか?
前もって感謝します
回答:
回答№1は2について読んでください getJSON() jQuery APIページから慎重にメソッド。
あなたの要件に従ってあなたのJSONデータを処理する方法がすべて説明されています..
getJSON() これは、Ajax Functionの短縮形です。
$.ajax({
dataType: "json",
url: url,
data: data,
success: success
});
したがって、次のURLに記載されているJSONデータに簡単にアクセスできます。
http://api.jquery.com/jquery.getjson/
回答№2の場合は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);
そのプレーン/バニラジャバスクリプト。 例.
もっと詳しく JSON.parse()
使用している場合 jQuery ajaxdataTypeを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"
}
});