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

2024-04-19

我将如何在 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 中,数组和对象没有名称。只有对象的属性才有名称。

JSON 语法图清楚地描述了这一切http://json.org http://json.org。 (FWIW,该网站有多种语言的翻译......)


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


回应此评论:

OTOH,编写自己的解析器是一个合理的项目,对于学习 JSON 和学习 Java(或任何语言)来说都是一个很好的练习。一个合理的解析器可以用大约 500 行文本编写。

在我看来(在我的时代编写过许多解析器),为一种语言编写解析器是一个效率很低获得有效理解语言语法的方法。根据您实现解析器的方式(以及语言语法规范的性质),您可以轻松获得不正确理解。

更好的方法是阅读语言的语法规范,OP 现在已经完成了这一点,并且为了实现解析器,您必须这样做。

编写解析器can be一个很好的学习练习,但它实际上是一个编写解析器的学习练习。即使如此,您也需要选择适当的实现方法以及要解析的适当语言。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何解析没有对象名称的 JSON 数组 的相关文章

随机推荐

  • 为什么 Visual Studio 2019 16.9.5 中的 .NET Core 3.1 和 .NET 5 的脚手架标识失败?

    我正在尝试在新项目中生成身份帐户 登录和帐户 注册页面 我尝试过 NET Core 3 1 和 NET 5 在这两种情况下 即使它是一个新项目 我也会收到以下错误消息 正如您所知 这是一条非常有用的错误消息 有谁知道 NET Core 3
  • nullptr 引用在 C++ 中是未定义的行为吗? [复制]

    这个问题在这里已经有答案了 下面的代码愚弄了nullptr指针和参考 include
  • 如何创建电子邮件发送服务?

    我已经考虑这个想法有一段时间了 想了解一下您的想法 我想创建一个 NET 服务来发送和跟踪电子邮件 我的粗略想法 在各种应用程序中 序列化 NET 电子邮件 System Net Mail MailMessage 对象的实例并将它们放入数据
  • 从 Metro Style App c# 加载 C 库 (gsdll32.dll)

    我想使用 Metro Style App c 中的 gsdll32 dll 我加载dll如下 DllImport gsdll32 dll EntryPoint gsapi delete instance private static ext
  • 如何用序列图来展示一个类与另一个类之间的关系,以该类的实例的实例作为输入?

    我将使用之前的相同示例question https stackoverflow com questions 66934927 how to represent the relationship between an instance of
  • 如何使图像视图的选择器仅更改背景而不更改图像源?

    我有一个 ImageView 同时设置了图像 src 和背景颜色 该图像位于 gridview 项目布局的布局中 我想创建一个 xml 选择器 当选择该项目时 图像背景会改变 但图像 src 不会改变 类似于带有文本图标的android主菜
  • 如何在elasticsearch中配置synonym_path

    我对 elasticsearch 很陌生 我想使用同义词 我在配置文件中添加了这些行 index analysis analyzer synonym type custom tokenizer whitespace filter synon
  • Lisp / Clojure:编写函数生成宏是个好主意吗?

    这个问题 https stackoverflow com q 7852351 346587要求创建一个 Clojure 宏来生成多个函数 我们找到了一种方法来做到这一点 但仍被 这是一个好主意吗 的问题所困扰 我的第一反应是并不真地 有两个
  • 无法从 sonarqube 服务器更新数据

    当 sonarlint eclipse 要求我刷新我的 sonarqube 数据 更新所有项目绑定 时 我收到以下错误 Unable to update data from server cerbere Unable to move C w
  • pthread_join() 用于异步线程

    我写了一个简单的演示程序 以便我可以理解pthread join 功能 我知道如何使用pthread condition wait 函数允许异步线程 但我试图了解如何使用pthread join 功能 在下面的程序中我通过线程1s ID t
  • 部分 GSON 反序列化

    我正在实施一个自定义JsonDeserializer因为处理所需的业务逻辑 但有些部分可以用标准方式解析 这是否可能 自己处理一些元素并让一些嵌套元素自动处理 这是 JSON id 10 games PZ definition count
  • 将项目 own_to 关系添加到 Active Admin

    我正在为我的 Rails 应用程序使用活动管理 我有一个客户模型 它属于一个部门 也属于一个交货时间 在我的管理文件夹中 我有一个用于主动管理的 customer rb 文件 该文件看起来像这样 ActiveAdmin register C
  • 如何将数据库从本地主机移动到实时服务器

    我使用 Xampp 构建了一个数据库和网站 它允许我使用和测试 php 以及托管在本地主机上的数据库 我现在想将其移至实时服务器 我已使用 123 reg 将网站移至实时服务器 如何移动数据库 我尝试导出 phpmyadmin 数据库并将
  • 从单独的键和值列表创建字典(dict)

    我想将这些结合起来 keys name age food values Monty 42 spam 放入单个字典中 name Monty age 42 food spam 我怎样才能做到这一点 像这样 keys a b c values 1
  • .htaccess:如何通过IP限制对单个文件的访问?

    我已经查看了所有内容 但不断遇到有关目录级 IP 限制的相同信息 通常如下所示 Order Deny Allow Deny from all Allow from 123 123 123 123 是否可以将相同类型的访问限制绑定到页面 文档
  • 高级分析对于所选进程不可用

    我正在尝试使用 3 0 中的 Android Studio 分析器分析 APK 由于我使用的不是 Android 7 0 因此我必须在模块配置中显式打开高级分析 问题是 完成此操作后 Android Studio 仍然显示 高级分析对于所选
  • 如何在管理面板中显示插件激活通知?

    当我激活测试插件时 我试图在管理面板中显示通知 我怎样才能显示它 那个方法是什么 对于插件激活 不能直接使用 admin notices 挂钩 因为存在重定向 解决方法是将您的通知存储在选项表中 并在下次检查 另外 如果您还想涵盖插件升级和
  • Django 表单验证:获取 JSON 格式的错误

    我有这个非常简单的 Django 表单 from django import forms class RegistrationForm forms Form Username forms CharField Password forms C
  • c# listview取消选择项目

    我正在开发一个 Windows 应用程序 它有一个包含一堆项目的 ListView 当用户单击某个项目时 应用程序会显示该项目的详细信息 这 然后用户就有机会编辑这些详细信息 用户应该单击 每次更改后都会单击 保存 按钮 但当然这种情况并不
  • 如何解析没有对象名称的 JSON 数组

    我将如何在 Java 中解析这个 JSON 数组 我很困惑 因为没有对象 谢谢 编辑 我是个白痴 我应该阅读文档 这可能就是它的用途 id 63565 name Buca di Beppo user null phone 408 377 7