javascript - 如何从 JSON 中的数组中选择名称未知的第一个属性和第一项

标签 javascript jquery arrays json

我实际上有两个问题,两个问题都可能很简单,但由于某些奇怪的原因我无法弄清楚...我之前也使用过 JSON 100 多次!但这是有问题的 JSON:

{"69256":{
   "streaminfo":{
     "stream_ID":"1025",
     "sourceowner_ID":"2",
     "sourceowner_avatar":"http:\/\/content.nozzlmedia.com\/images\/sourceowner_avatar2.jpg",
     "sourceownertype_ID":"1",
     "stream_name":"Twitter",
     "streamtype":"Social media"
     "appsarray":[]
   },
   "item":{
      "headline":"Charboy",
      "main_image":"http:\/\/content.nozzlmedia.com\/images\/author_avatar173212.jpg",
      "summary":"ate a tomato and avocado for dinner...",
      "nozzl_captured":"2010-05-12 23:02:12",
      "geoarray":[{
         "state":"OR",
         "county":"Multnomah",
         "city":"Portland",
         "neighborhood":"Downtown",
         "zip":"97205",
         "street":"462 SW 11th Ave",
         "latitude":"45.5219",
         "longitude":"-122.682"
       }],
       "full_content":"ate a tomato and avocado for dinner tonight. 
                      such tasty foods. just enjoyable.",
       "body_text":"ate a tomato and avocado for dinner tonight. 
                      such tasty foods. just enjoyable.",
       "author_name":"Charboy",
       "author_avatar":"http:\/\/content.nozzlmedia.com\/images\/author_avatar173212.jpg",
       "fulltext_url":"http:\/\/twitter.com\/charboy\/statuses\/13889868936",
       "leftovers":{
           "twitter_id":"tag:search.twitter.com,2005:13889868936",
           "date":"2010-05-13T02:59:59Z",
           "location":"iPhone: 45.521866,-122.682262"
       },
       "wordarray":{
          "0":"ate",
          "1":"tomato",
          "2":"avocado",
          "3":"dinner",
          "4":"tonight",
          "5":"tasty",
          "6":"foods",
          "7":"just",
          "8":"enjoyable",
          "9":"Charboy",
          "11":"Twitter",
          "13":"state:OR",
          "14":"county:Multnomah, OR",
          "15":"city:Portland, OR",
          "16":"neighborhood:Downtown",
          "17":"zip:97205"
      }
   }
 }
}

问题 1: 当数字是随机的时,如何循环遍历每个项目 (69256)?例如项目 1 是 123,项目 2 是 646?例如,普通 JSON 提要将具有以下内容:

{'item':{'blah':'lorem'},'item':{'blah':'ipsum'}}

JS 会像 console.log(item.blah) 一样返回 lorem 然后在循环中返回 ipsum

不知道对象的第一项怎么办?

问题 2: 如何从 geoarray 对象中选择项目?我试过了: json.test.item.geoarray.latitude

json.test.item.geoarray['纬度']

最佳答案

Question 1: How do I loop through each item (69256) when the number is random?

您可以使用 for in 获取 JS 对象的属性名称声明:

for (var property in object) {
    if (object.hasOwnProperty(property)) {
        alert(property + '=' + object[property]);
    }
}

要获取第一个 JSON,您可以这样做:

var data;
for (var property in json) {
    if (json.hasOwnProperty(property)) {
        data = json[property];
        break;
    }
}

Question 2: How do I select items from the geoarray object?

geoarray 实际上是一个包含一项的数组。使用 [0] 来抓取它。

var latitude = data.item.geoarray[0].latitude;

如果它实际上包含多个项目,那么您需要使用简单的 for 遍历它带有索引或使用 jQuery.each() 的语句.


要了解有关 JSON 的更多信息,您可以找到 this tutorial有用。

关于javascript - 如何从 JSON 中的数组中选择名称未知的第一个属性和第一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2824299/

相关文章:

jquery - 如何在选择功能中获取组合框值?

javascript - 带有 jQ​​ueryUI 排序的 Twitter Bootstrap 多级 Accordion

javascript - 如何关闭浏览器选项卡

javascript - 使用 fetch 和 await 时如何将用户重定向到不同的页面?

javascript - 强制网络浏览器下载整个页面内容

javascript - 插入数字键时将顺序保存在对象中

javascript - 尝试将过滤器应用于充满对象的嵌套数组

arrays - 快速将字符串 json 转换为数组

javascript - 有没有办法在 Firefox OS 中预填电子邮件正文

javascript - 是否有可能在 CK-EDITOR 的插件对话框中动态添加 HTML 元素?