我有一个Jquery脚本,它对数据表进行查找并返回结果。
但是,当我在DIV中显示结果时,还会显示json数据周围的花括号。任何人都可以看到我出错的地方。
我的剧本:
$(document).ready(function()
{
$('#board').change(function(){
$.get('check_override_image.php', { RecordID: form2.board.value },
function(result) {
$('#size').html(result).show();
});
});
});
Json的结果是:
{"imagesizes":[{"DisplayWidth":"1080","DisplayHeight":"1920"}]}
我正在使用
显示结果<div id="size"></div>
我要显示的是DisplayWidth:1080,DisplayHeight:1920删除所有括号和引号。
这可能。
非常感谢你的时间。
答案 0 :(得分:1)
您必须手动删除部分对象
var result = {"imagesizes":[{"DisplayWidth":"1080","DisplayHeight":"1920"}]};
var html = Object.keys( result.imagesizes[0] ).map(function(key) {
return key + ':' + result.imagesizes[0][key];
}).join(', ');
$('#size').html(html).show();
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="size"></div>
&#13;
如果ajax调用返回正确的标题,结果将被解析为一个对象,否则你有JSON,需要JSON.parse
,比如
$(document).ready(function() {
$('#board').change(function(){
$.get('check_override_image.php', {RecordID:form2.board.value}, function(json) {
var result = JSON.parse(json);
var html = Object.keys( result.imagesizes[0] ).map(function(key) {
return key + ':' + result.imagesizes[0][key];
}).join(', ');
$('#size').html(html).show();
});
});
});
答案 1 :(得分:1)
您需要JSON.parse()
然后正常访问键值。
见下面的例子:
result = JSON.parse(result);
$('#size').html("DisplayWidth: " + result["imagesizes"][0]["DisplayWidth"]
+ ", DisplayWidth: " + result["imagesizes"][0]["DisplayWidth"]).show();