【问题标题】:Access JSONArrays in javascript在 javascript 中访问 JSONArrays
【发布时间】:2017-08-07 02:53:17
【问题描述】:

我是 JavaScript 新手。我使用 org.json 库在 Java 中完成了类似的要求。

我有一个字符串:

var string = "{\"id\" :[\"\"],\"State\" :[\"TX\",\"IA\"]}";

我正在使用以下方法将该字符串转换为 JSONObject:

var obj = JSON.parse(string);

我正在尝试使用 JavaScript 或 jQuery 来实现这一点。我如何在这个 JSONObject 中获取 JSONArrays。请帮我。提前致谢。

【问题讨论】:

  • 嗨人造丝。但我试图仅使用 javascript 来实现这一点。你还认为我需要添加java标签吗?请告诉我,如果有帮助,我会添加。
  • 我读错了。您已经使用JSON.parse 实现了它,还需要实现什么?
  • 您只需执行obj.id 即可获得数组。或者 obj.id.length 的长度(这里应该是 1)
  • @Rayon 我正在尝试访问其中的 JSONArrays。
  • @user7637864 那是因为您的 id 数组包含一项;一个空字符串

标签: javascript jquery json


【解决方案1】:

你可以用 jquery 试试这个 提及 jquery 为:

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

代码或脚本

var obj = $.parseJSON( '{\"id\" :[\"dddd\"],\"State\" :[\"TX\",\"IA\"]}' );
console.log(obj.id);

【讨论】:

  • 感谢您的回复@arjun。
【解决方案2】:
var jsonStr = "{\"id\" :[\"\"],\"State\" :[\"TX\",\"IA\"]}";
var jsonObj = JSON.parse(jsonStr);

idArr=jsonObj.id;
stateArr=jsonObj.State;

idArr.forEach(function(id) {
    console.log(id);
});
stateArr.forEach(function(state) {
    console.log(state);
})

希望对你有帮助

【讨论】:

  • 但是 idArr.length 给了我 1。不应该是这样吧?
  • idArr 是一个字符串数组,它在第 0 个索引中包含一个空字符串,这就是为什么 idArr.length 为 1
  • 你能告诉我如何摆脱那个空字符串吗?我试过 (obj.id.isEmpty()) 检查。但它不起作用。 @杰克逊宝贝
【解决方案3】:

所以一旦你得到了对象,你就必须得到你想要执行迭代的数组字段。对于 Ex,如果您想遍历 State,请检查以下内容:


for (var i=0;i<obj.State.length;i++)
                        {
                            obj.State[i] ;
                        }

这就是你要找的吗?如果不是,请更清楚。

【讨论】:

    猜你喜欢
    • 2011-12-18
    • 2016-05-10
    • 2011-06-03
    • 1970-01-01
    • 2014-08-07
    • 2013-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多