Javascript json以对象而不是字符串的形式出现
Json在我的本地主机上作为:/data/:Javascript json以对象而不是字符串的形式出现,javascript,json,jquery,jsonp,Javascript,Json,Jquery,Jsonp,Json在我的本地主机上作为:/data/: { "children": [ { "name": "analytics", "size": "1243" }, { "name": "math", "size": "4343" }, { "name": "algebra", "size": "1936" }, { "name": "
{
"children": [
{
"name": "analytics",
"size": "1243"
},
{
"name": "math",
"size": "4343"
},
{
"name": "algebra",
"size": "1936"
},
{
"name": "calc",
"size": "3936"
},
{
"name": "geom",
"size": "2136"
},
{
"name": "Quant",
"size": "4136"
}
]
}
以下是我尝试访问json的方式:
var interval = setInterval(function() {
$.getJSON("http://localhost:8080/dev_tests/d3/examples/data/flare2.json", function(json) {
$.each(json.children,function(i,name){
alert(json.children);
});
});
}, 3000);
数据很好。也就是说,当我运行console.log(json)时,我可以在firebug中看到上面的json名称/值txt对。但是,在每个名称-值对之前,我会看到单词Object。例如,我的日志中没有显示{name=“analytics”,size=“1243”},。。它实际上显示:[Object{name=“analytics”,size=“1243”},…,这也是我的警报显示的:[Object Object]而不是name=“analytics”,size=“1243”。
为什么会这样?有没有办法在文本中获取json名称/值对,以便存储为javascript字符串
非常感谢。jQuery在使用或指定响应为JSON时会自动解码响应。如果您想要普通响应,请改用。jQuery在使用或指定响应为JSON时会自动解码响应。如果您想要普通响应,请改用。JSON中的O代表“object.”这是一种将JavaScript对象序列化为字符串(并返回)的方法。一方面,您似乎依赖于转换(引用
子对象
)但另一方面,您不希望进行转换。如果您确实希望子对象
成为所描述格式的字符串集合,则应以这种方式存储。如果您确实希望对象表示法(以及在客户端中转换为对象),则只需使用对象的属性即可
var interval = setInterval(function() {
$.getJSON("http://localhost:8080/dev_tests/d3/examples/data/flare2.json", function(json) {
$.each(json.children,function(i,item){
alert("name = " + item.name + ", size = " + item.size);
});
});
}, 3000);
JSON中的O代表“object”。这是一种将JavaScript对象序列化为字符串(并返回)的方法。一方面,您似乎依赖于转换(引用子对象
)但另一方面,您不希望进行转换。如果您确实希望子对象
成为所描述格式的字符串集合,则应以这种方式存储。如果您确实希望对象表示法(以及在客户端中转换为对象),则只需使用对象的属性即可
var interval = setInterval(function() {
$.getJSON("http://localhost:8080/dev_tests/d3/examples/data/flare2.json", function(json) {
$.each(json.children,function(i,item){
alert("name = " + item.name + ", size = " + item.size);
});
});
}, 3000);
你所说的一切都是firebug和alert的正常行为。你不能警告对象 下面是如何在$.get回调中循环响应的示例
$.each(json.children,function(i,item){
$('body').append('名称:'+item.Name+',大小:'+item.Size+''))
})
您所说的一切都是firebug和alert的正常行为。您不能向对象发出警报
下面是如何在$.get回调中循环响应的示例
$.each(json.children,function(i,item){
$('body').append('名称:'+item.Name+',大小:'+item.Size+''))
})
好吧,使用对象是我们的目标
实际上,json是一个对象数组
{
"children": [ // <-- Array
{...},// <- Object
{...} // <- Object
]
}
嗯,使用对象是我们的意图 实际上,json是一个对象数组
{
"children": [ // <-- Array
{...},// <- Object
{...} // <- Object
]
}
实际上,jQuery.getJSON是ajax调用的简写。有关ajax方法,请参见jQuery.getJSON页面。@JessevanAssen不完全是
$。getJSON
隐式地设置数据类型:json
,与$一样。ajax
您可以灵活地将数据类型指定为文本等等,我的意思是jQuery.getJSON
实际上使用一些默认参数调用了jQuery.ajax
方法,如页面所示。实际上,jQuery.getJSON是ajax调用的简写形式。有关ajax方法,请参见jQuery.getJSON页面。@JessevanAssen不完全是$。getJSON
隐式设置数据类型:json
与$.ajax
一样,您可以灵活地将数据类型
指定为文本
etcNo,我的意思是jQuery.getJSON
实际上使用一些默认参数调用jQuery.ajax
方法,如页面上所示。啊啊啊啊啊!我明白了……就是这样。最后,我无法得到这个描述(obj到str)点击。非常感谢!!啊啊啊啊啊!我明白了…就是这样。最后。我无法点击这个描绘(obj到str)。非常感谢!!