当前位置: 首页 > 面试题库 >

获取第一个JSON属性

钱安和
2023-03-14
问题内容

有没有一种方法来获取JSON对象的第一个属性的名称?

我想做这样的事情:

var firstProp = jsonObj[0];

编辑: 我得到一个JSON对象,其中包含具有图像URL的数组类别。

像这样:

{
  "category1":["image/url/1.jpg","image/url/2.jpg"],
  "category2":["image/url/3.jpg","image/url/4.jpg"]
}

然后,我遍历该对象以插入图像,而我真正想要的只是一种优雅的方式来查看首先插入哪个类别。一开始我只是做了

for (var cat in images) {
    if (i==0) firstCat = cat;
    ...
}

但这有点丑陋…所以基本上这只是一个优雅的问题:p


问题答案:

不能 保证 对象属性的顺序与您放置它们的方式相同。但是,实际上,所有主流浏览器都会按顺序返回它们。因此,如果您可以依靠它…

var firstProp;
for(var key in jsonObj) {
    if(jsonObj.hasOwnProperty(key)) {
        firstProp = jsonObj[key];
        break;
    }
}

另请注意,Chrome中存在有关订购的错误,在某些情况下,订购时的订购方式并不正确。至于将来的变化,实际上机会很小,因为我相信这已成为标准的一部分,因此,如果对此有任何支持,则只会成为官方。

但是,考虑到所有问题,如果真的,真的,绝对,积极地想要确保它以正确的顺序使用数组就可以了。否则,上面的方法就可以了。



 类似资料:
  • 下面是HashMap中包含的值 获取第一个键(即活动键)的Java代码 我们如何收集第一个键“值”(即33),我想把“键”和“值”都存储在单独的变量中。

  • 问题内容: 我想获取特定月份/年份中第一个星期一的日期。 我有的: 我基本上有两个int变量,一个代表年份,一个代表月份。 我想要的是: 我想知道本月的第一个星期一,最好是一个int或Integer值。 例如: 我有2014年和1月(1月),这个月的第一个星期一是6号,所以我想返回6。 问题: 我以为可以做到这一点,但是在设置日历(仅提供年和月)时已经遇到了麻烦。此外,我不确定如何使用返回实际的月

  • 我有一个API,它会给出这样的JSON响应 我想从这个响应中找到所有唯一的属性。我尝试了以下方法,但没有一种有效- 方法-1 方法-2 接近-3 方法-4 方法-5 编辑-1:修复JSON。

  • 问题内容: 考虑: 我该怎么做: 显然,这不起作用,因为第一个索引名为,而不是。 可以,但是我不知道它的名字叫foo。它可以命名为任何东西。我只想要第一个。 问题答案: 如果对象的顺序很重要,则应修改JSON模式以将对象存储在数组中: 或许: 正如Ben Alpert指出的那样,Javascript对象的属性是无序的,并且如果希望它们按与对象常量中指定的顺序相同的顺序枚举,则代码将被破坏-没有“f

  • 问题内容: 我有一个数组: 我想获得此数组的第一个元素。预期结果: 字符串 一个要求: 它不能通过引用传递来完成 ,所以不是一个好的解决方案。 我怎样才能做到这一点? 问题答案: 原始答案,但代价昂贵(O(n)): 在O(1)中: 其他用例等 如果修改(就重置数组指针而言)不是问题,则可以使用: 如果需要数组“副本”,则从理论上讲应该更有效: 使用PHP 5.4+(但如果为空,则可能导致索引错误)

  • 在我的Java应用程序中,我必须从.odt文档中读取数据。有人能告诉我如何在这样的文档中获得对第一个表的引用吗?我想使用Apache odf toolkit,但在那里我只找到了一个按名称获取表的方法: 我的文档包含一个我需要解析的大表,但我不知道它的名字…有办法找到吗?还是另一种方式来拿到桌子?