【问题标题】:How to set json object from json array in jquery?如何在 jquery 中从 json 数组中设置 json 对象?
【发布时间】:2014-10-25 14:51:49
【问题描述】:

这里我得到以下格式的 JSON 对象。

{"userid":"12345","cmpyname":"stackoverflow",
"starrays":[{"transaction":"7272785","value2":"ABCDE"},    
{"transaction":"4774585","value2":"CDEFG"}],"value3":"95345"}

解释:

对于特定用户 ID (12345),它将返回一组数组 - 具有相同对象名称的星光,例如 transactionvalue2

在这里,我正在设置 userid 和 cmpyname,如下所示。

<div id="t_userid"></div>
<div id="t_cmpy"></div>

在 ajax 中,我获取 JSON 对象并将值设置为 div 元素,如下所示。

$('#userid').html(data.userid);

$('#t_cmpy').html(data.cmpyname);

现在,我需要知道如何从数组中获取 transaction 和 value2 对象的值?

<div id="t_trans"></div>
<div id="t_val2"></div>

我试过这样。但是没用。

$('#t_trans').html(data.starrays.transaction);

$('#t_val2').html(data.starrays.value2);

而且,这里数组中有多个值,我怎样才能一个一个地设置我的 div。 (不附加值)

编辑:

{"userid":"12345","cmpyname":"stackoverflow",
"starrays":[{"transaction":"7272785","addr":"ABCDE"},    
{"transaction":"4774585","addr":"ABCDE"}],"value3":"95345"}

在这里,我在 addr 对象中的值与 ABCDE 相同。

在这种情况下,如果我像下面这样使用它就可以了

$('#divid1').html(data.starrays[1].addr);

但是,我在交易中的价值与 7272785、4774585 不同。

在这种情况下,如果我像下面这样使用它是行不通的

$('#divid2').html(data.starrays[0].transaction);

【问题讨论】:

    标签: jquery html arrays ajax json


    【解决方案1】:

    代码中的数组没有右括号。我假设您只是粘贴了一部分..

    需要引用数组索引:

    $('#t_trans').html(data.starrays[0].transaction);
    

    【讨论】:

    • 编辑右括号..会检查这个
    • 成功了!还有一个疑问......我得到了同一个 div id 的多个值。那么我怎样才能将它用作单独的呢?
    • 对不起,不明白小弟。你能澄清一下吗?
    • 实际上,对于事务对象,它对所有数组都具有相同的值。但是,对于 value2 对象,它没有显示值,因为它在第一个数组中有 ABCDE,在第二个数组中有 CDEFG...
    • 不确定你想做什么.. 做一个 jsfiddle,我可以帮助你
    猜你喜欢
    • 2018-01-24
    • 1970-01-01
    • 1970-01-01
    • 2020-05-10
    • 1970-01-01
    • 2016-06-07
    • 1970-01-01
    • 2015-07-18
    • 1970-01-01
    相关资源
    最近更新 更多