繁体   English   中英

如何解析没有对象名称的JSON数组

[英]How to parse JSON array with no object name

我将如何用Java解析此JSON数组? 我很困惑,因为没有对象。 谢谢!

编辑:我是个白痴! 我应该已经阅读了文档...可能就是它的用途...

[
   {
      "id":"63565",
      "name":"Buca di Beppo",
      "user":null,
      "phone":"(408)377-7722",
      "address":"1875 S Bascom Ave Campbell, California, United States",
      "gps_lat":"37.28967000",
      "gps_long":"-121.93179700",
      "monhh":"",
      "tuehh":"",
      "wedhh":"",
      "thuhh":"",
      "frihh":"",
      "sathh":"",
      "sunhh":"",
      "monhrs":"",
      "tuehrs":"",
      "wedhrs":"",
      "thuhrs":"",
      "frihrs":"",
      "sathrs":"",
      "sunhrs":"",
      "monspecials":"",
      "tuespecials":"",
      "wedspecials":"",
      "thuspecials":"",
      "frispecials":"",
      "satspecials":"",
      "sunspecials":"",
      "description":"",
      "source":"ripper",
      "worldsbarsname":"BucadiBeppo31",
      "url":"www.bucadebeppo.com",
      "maybeDupe":"no",
      "coupontext":"",
      "couponimage":"0",
      "distance":"1.00317",
      "images":[
         0
      ]
   }
]

这是完全有效的JSON。 它是一个包含一个对象的数组。

在JSON中,数组和对象没有名称。 只有对象的属性才具有名称。

所有这些都通过http://json.org上的JSON语法图清楚地描述。 (FWIW,该网站提供了多种语言的翻译...)


您如何解析? 有许多用于解析JSON的库。 许多链接都是从上面的站点链接的。 我建议您使用其中之一而不是编写自己的解析代码。


针对此评论:

OTOH,编写自己的解析器是一个合理的项目,并且对于学习JSON和学习Java(或其他语言)都是不错的练习。 一个合理的解析器可以用大约500行文本编写。

我认为(我当时写过很多解析器),为一种语言编写解析器是一种非常有效的方法,可以使人们对语言的语法有所了解。 而且,根据您实现解析器的方式(以及语言语法规范的性质),您很容易获得错误的理解。

更好的方法是读取语言的语法规范,OP现在已经完成了该规范,并且您必须执行该语法规范才能实现解析器。

编写解析器可能是一个很好的学习练习,但实际上是编写解析器时的学习练习。 即使那样,您仍需要选择一种适当的实现方法和一种适当的语言进行解析。

这是一个包含一个元素的数组。 该元素是一个对象。 对象(词典)包含约20个名称/值对。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM