如何从json解析像“city”这样的参数?
我有这样的网址:http://api.db-ip.com/addrinfo?addr=8.8.8.8&api_key=key,这让我回答:
{
"address":"8.8.8.8",
"country":"US",
"stateprov":"California",
"city":"Mountain View"
}
我想将城市(或国家/地区)变量应用于<input type>
,以向访问者展示有关位置的一些信息。
答案 0 :(得分:1)
如果您只想加载该JSON对象并访问“city”字段,请使用jQuery的getJSON
方法获取本机JS对象作为响应。
$.getJSON( "http://api.db-ip.com/addrinfo?addr=8.8.8.8&api_key=key", function(data) {
// do something with data.city;
});
但是,在您的情况下,您正在尝试制作跨域JSON请求 - 不允许。由于db-ip.com不允许,因此您必须使用PHP代理请求。
在您的服务器上设置“dbip.php”作为代理(参见http://jquery-howto.blogspot.com/2009/04/cross-domain-ajax-querying-with-jquery.html)
然后你只需从你自己的服务器上的dbip.php加载JSON,它会为你查询db-ip.com。浏览器很高兴,因为它所做的AJAX请求不会跨域名。
答案 1 :(得分:0)
var response={
"address":"8.8.8.8",
"country":"US",
"stateprov":"California",
"city":"Mountain View"
};
$("#city").val(response.city);