我如何用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
]
}
]
答案 0 :(得分:2)
这是完全有效的JSON。它是一个包含一个对象的数组。
在JSON中,数组和对象没有名称。只有对象的属性才有名称。
http://json.org上的JSON语法图清楚地描述了这一点。 (FWIW,该网站有多种语言的翻译......)
你如何解析它?有许多用于解析JSON的库。其中许多都是从上面的网站链接。我建议你使用其中一个而不是编写自己的解析代码。
回应此评论:
OTOH,编写自己的解析器是一个合理的项目,也是学习JSON和学习Java(或任何语言)的良好练习。合理的解析器可以用大约500行文本编写。
在我看来(在我的时间里写了很多解析器),为一种语言编写解析器是一种非常低效的方式,可以帮助他理解语言的语法。根据您实现解析器的方式(以及语言语法规范的性质),您可以轻松获得不正确的理解。
更好的方法是阅读OP现在已经完成的语言语法规范,以及为了实现解析器而必须执行的操作。
编写解析器可以一个很好的学习练习,但它实际上是编写解析器的学习练习。即便如此,您还需要选择适当的实现方法,并使用适当的语言进行解析。
答案 1 :(得分:1)
这是一个包含一个元素的数组。该元素是一个对象。对象(字典)包含大约20个名称/值对。