如何从 JSONArray 解析 JSON 对象?

2023-12-15

我有一个非常大的 JSON 文件,格式如下:

[{"fullname": "name1", "id": "123"}, {"fullname": "name2", "id": "245"}, {"fullname": "name3", "id": "256"}]

它看起来像一个 JSONArray。所有记录都写在同一行中。

你能帮我如何使用 Java 解析这个文件吗?我想读取每个 JSON 对象并显示所有全名和 ID。以下是我的尝试,但我的代码不起作用:

import org.apache.commons.lang3.StringEscapeUtils;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

public class JSONFileReaderDriver {

public static void main(String[] args) throws FileNotFoundException, 
IOException, ParseException 
{
 String filename="Aarau";
 String src="C:\\"+filename+".json";
 JSONParser parser = new JSONParser();
 JSONObject obj;
 try
    {
        BufferedReader br=new BufferedReader (new FileReader(src));  
        obj = (JSONObject) new JSONParser().parse(row);
        String fullname=obj.get("fullname");
        String id=obj.get("id");
        System.out.println ("fullname: "+fullname+" id: "+id);
    }catch(Exception e)
     {e.printStackTrace();}
   br.close();
  }
 }

让您的生活变得轻松并使用ObjectMapper。 这样,您只需定义一个与 json 对象具有相同属性的 Pojo 即可。

在您的情况下,您需要一个如下所示的 Pojo:

public class Person{
    private String fullname;
    private int id;

    public Person(String fullname, int id) {
        this.fullname = fullname;
        this.id = id;
    }

    public String getFullname() {
        return fullname;
    }

    public int getId() {
        return id;
    }
}

这样你只需要做:

ObjectMapper objectMapper = new ObjectMapper();
List<Person> persons = objectMapper.readValue(myInputStream, TypeFactory.defaultInstance().constructCollectionType(List.class, Person.class));

这是一种无麻烦且类型安全的方法。

需要的依赖:

https://github.com/FasterXML/jackson-databind

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

如何从 JSONArray 解析 JSON 对象? 的相关文章

  • 如何获取之前的URL?

    我需要调用我的网络应用程序的 URL 例如 如果有一个从 stackoverflow com 到我的网站 foo com 的链接 我需要 Web 应用程序 托管 bean 中的 stackoverflow 链接 感谢所有帮助 谢谢 并不总是
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • Java 公历日历更改时区

    我正在尝试设置 HOUR OF DAY 字段并更改 GregorianCalendar 日期对象的时区 GregorianCalendar date new GregorianCalendar TimeZone getTimeZone GM
  • 将 MOXy 设置为 JAXB 提供程序,而在同一包中没有属性文件

    我正在尝试使用 MOXy 作为我的 JAXB 提供程序 以便将内容编组 解组到 XML JSON 中 我创建了 jaxb properties 文件 内容如下 javax xml bind context factory org eclip
  • 帮助将图像从 Servlet 获取到 JSP 页面 [重复]

    这个问题在这里已经有答案了 我目前必须生成一个显示字符串文本的图像 我需要在 Servlet 上制作此图像 然后以某种方式将图像传递到 JSP 页面 以便它可以显示它 我试图避免保存图像 而是以某种方式将图像流式传输到 JSP 自从我开始寻
  • jdbc mysql loginTimeout 不起作用

    有人可以解释一下为什么下面的程序在 3 秒后超时 因为我将其设置为在 3 秒后超时 12秒 我特意关闭了mysql服务器来测试mysql服务器无法访问的这种场景 import java sql Connection import java
  • 当 OnFocusChangeListener 应用于包装的 EditText 时,TextInputLayout 没有动画

    不能比标题说得更清楚了 我有一个由文本输入布局包裹的 EditText 我试图在 EditText 失去焦点时触发一个事件 但是 一旦应用了事件侦听器 TextInputLayout 就不再对文本进行动画处理 它只是位于 editText
  • 使用 KnockoutJs 映射插件进行递归模板化

    我正在尝试使用以下方法在树上进行递归模板化ko映射 插入 http knockoutjs com documentation plugins mapping html 但我无法渲染它 除非我定义separate每个级别的模板 在以下情况下
  • 使用 Ajax.Request 将 JSON 从浏览器传递到 PHP 的最佳方法

    您好 我有一个 JSON 对象 它是一个二维数组 我需要使用 Ajax Request 将其传递给 PHP 我知道的唯一方法 现在我使用js函数手动序列化我的数组 并获取以下格式的数据 s 1 d 3 4等 我的问题是 有没有办法更直接 有
  • 在javascript中解析json - 长数字被四舍五入

    我需要解析一个包含长数字的 json 在 java servlet 中生成 问题是长数字被四舍五入 当执行这段代码时 var s x 6855337641038665531 var obj JSON parse s alert obj x
  • logcat 中 mSecurityInputMethodService 为 null

    我写了一点android应显示智能手机当前位置 最后已知位置 的应用程序 尽管我复制了示例代码 并尝试了其他几种解决方案 但似乎每次都有相同的错误 我的应用程序由一个按钮组成 按下按钮应该log经度和纬度 但仅对数 mSecurityInp
  • 关键字“table”附近的语法不正确,无法提取结果集

    我使用 SQL Server 创建了一个项目 其中包含以下文件 UserDAO java public class UserDAO private static SessionFactory sessionFactory static se
  • 如何使用 jUnit 将测试用例添加到套件中?

    我有 2 个测试类 都扩展了TestCase 每个类都包含一堆针对我的程序运行的单独测试 如何将这两个类 以及它们拥有的所有测试 作为同一套件的一部分执行 我正在使用 jUnit 4 8 在 jUnit4 中你有这样的东西 RunWith
  • Javascript 数组到 VBScript

    我有一个使用 Javascript 构建的对象数组 我需要使用 VBScript 读取它 如下例所示 我找不到在 VbScript 代码中循环遍历数组的方法myArray object 这个例子是我的问题的简化 我无法更改页面的默认语言 这
  • Android:无法使用 DbHelper 和 Contract 类将数据插入 SQLite

    public class Main2Activity extends AppCompatActivity private EditText editText1 editText2 editText3 editText4 private Bu
  • Repa 数组上的并行 mapM

    在我最近的work https github com bgamari mixture model with Gibbs sampling 我一直在充分利用RVar http hackage haskell org packages arch
  • 创建一个 JSON 对象以在 Spring Boot 测试中发布

    我想编写基本测试来使用 JSON 负载在 users URL 上执行 POST 请求来创建用户 我找不到如何将新对象转换为 JSON 到目前为止有这么多 这显然是错误的 但解释了目的 Test public void createUser
  • 长轮询会冻结浏览器并阻止其他 ajax 请求

    我正在尝试在我的中实现长轮询Spring MVC Web 应用程序 http static springsource org spring docs 2 0 x reference mvc html但在 4 5 个连续 AJAX 请求后它会
  • 使用 Ajax 请求作为源数据的 Jquery 自动完成搜索

    我想做的事 我想使用 jquery 自动完成函数创建一个输入文本字段 该函数从跨域curl 请求获取源数据 结果应该与此示例完全相同 CSS 在这里并不重要 http abload de img jquerydblf5 png http a
  • 使用 svn 1.8.x、subclise 1.10 的 m2e-subclipse 连接器在哪里?

    我读到 m2e 的生产商已经停止生产 svn 1 7 以外的任何版本的 m2e 连接器 Tigris 显然已经填补了维护 m2e subclipse 连接器的空缺 Q1 我的问题是 使用 svn 1 8 x 的 eclipse 更新 url

随机推荐

  • 画布像素数据的跨浏览器规范?

    有谁知道当前画布像素数据规范在各种浏览器中可以追溯到多远 如果 没那么远 之前的规格是什么 当你调用或推送像素时 你得到 发送 ImageData data Uint8ClampedArray width Number height Num
  • 处理 Grails 中一对多关系的动态形式参数

    我在这里的主要问题是在一个动态表单中管理一对多关系时处理 pramas 映射 以及通过动态表单编辑 更新域对象时处理一对多的最佳实践 我的问题的输入如下 我已经成功破解了一个表单 该表单允许我在一个动态表单中创建如下所示的域对象 因为没有必
  • 如何从PictureBox中获取真实图像像素点x,y

    我有一个pictureBox2并且它被设置为zoom 我试图找出如何获得图像上真实的 x y 像素位置Mouse Click on pictureBox2 但我尝试了我所知道的 3 种可能的想法 不带 带PointToClient Poin
  • Android 中的全局计时器

    我想制作一个计时器 它将显示在我的应用程序的每个活动中 我知道如何在活动上设置计时器 下面是我的代码 public class Timer extends Activity implements OnClickListener public
  • 德摩根定律和 C++

    对于以下每个表达式 编写等效的 C 表达式 不带任何一元否定运算符 仍然允许 使用德摩根定律 P Q P Q P Q P Q For x 5 x 7 x lt 5 x gt 7 a gt 3 b gt 4 c 5 我的回答 x gt 5 x
  • Flutter:我想在下拉颤动下显示下拉列表

    我想创建看起来像我提到的下拉菜单 但我无法实现我的方面结果 我尝试使用渲染框来制作自定义下拉菜单 但它希望感觉像实际的下拉菜单 谁能帮助我得到这种类型的结果 我想要这样的结果 我当前的用户界面如下所示 这是我的代码 class AppDro
  • 在 rCharts/slidify/nvd3 中设置图表区域背景颜色

    对于以下滑动甲板 title Foo framework revealjs io2012 html5slides shower dzslides revealjs theme solarized highlighter highlight
  • 如何在 ASP.NET Identity 中使用 ASP.NET 会员数据库?

    我有几个旧版 ASP NET Web 应用程序共享 ASP NET 成员资格数据库 我想迁移到利用 NET Core 和 IdentityServer4 的微服务架构 并在新的微服务生态系统中拥有身份服务器以使用现有的 ASP NET 会员
  • Azure PowerShell:启用应用程序诊断和站点诊断

    我正在为 Azure 网站配置诊断和 IIS 日志 Azure 管理门户显示将应用程序诊断存储到 Azure 表存储的选项 单击 管理表存储 时会弹出一个对话框以提供 Azure 表详细信息 Blob 存储的站点诊断 我正在搜索 Azure
  • 创建同步 http.get()

    我试图通过 Promise 和 http get 处理登录 但我失败得很厉害 我收到以下错误 对象不支持属性或方法 toPromise 我的代码是 return this http get http localhost 5000 login
  • 强制 ANTLR 在特定文件夹中生成输出文件

    我不喜欢将 ANTLR 生成的文件放在与我的文件相同的位置 g4语法和其他版本控制文档 我想将所有生成的文件放在一个单独的嵌套文件夹中 可以通过排除 gitignore 到目前为止我尝试过的是创建一个文件夹
  • 为什么 FB.XFBML.parse() 不渲染我的插件?

    My code a href Render me a div div render me click function e e preventDefault social facebook html
  • Android Studio:用于编码 UTF-8 的不可映射字符

    将我的项目从 eclipse 导入 android studio 后 出现以下错误 Error unmappable character for encoding UTF 8 安卓工作室 0 5 8 我遇到了同样的问题 因为存在带有 win
  • AVX2 中的条件指令

    您能给出 AVX2 中可用的条件指令列表吗 到目前为止 我发现了以下内容 mm256 blendv 可供选择a and b基于掩码c 是否有条件乘法和条件加法等 另外 如果接受指示imm8计数 比如 mm256 blend 你能解释一下如何
  • 特定属性的 SequenceEqual

    我想比较两个对象列表 这些对象有四种不同的属性 我只需要比较其中的三个作为序列 只有三个 因为其中一个总是不同的 示例如下 list1 new List
  • DEI原则下Ctor参数应该注入什么?

    我试图了解哪些对象应该注入到对象中 哪些对象应该在内部创建 如果我有一些List
  • 加密文件时减少内存消耗 C#

    我的加密应用程序使用了大量内存 它根本无法处理大文件 如何优化我的代码来处理大文件 我正在使用下面的代码将文件转换为 base64 显着增加文件大小 Console Write Enter File Path docPath Console
  • XmlSerializer:“在此上下文中不能使用类型‘Type’”

    我试图找出如何使用序列化任何类Xml序列化器 不使用Xml包含属性 通常可以工作 但使用以下代码时出现异常 using System using System Collections using System Collections Gen
  • 如何将修改后的提交推送到远程 Git 存储库?

    当我对源代码进行一些处理后 我做了我通常做的事情提交 然后推送到远程存储库 但后来我注意到我忘记在源代码中组织我的导入 所以我执行修改命令来替换之前的提交 gt git commit amend 不幸的是 提交无法被推回存储库 被拒绝是这样
  • 如何从 JSONArray 解析 JSON 对象?

    我有一个非常大的 JSON 文件 格式如下 fullname name1 id 123 fullname name2 id 245 fullname name3 id 256 它看起来像一个 JSONArray 所有记录都写在同一行中 你能