当前位置: 首页 > 知识库问答 >
问题:

如何在Java中解析复杂的json字符串

罗学林
2023-03-14
{
  "data": [
    {
      "DayOrder": 2,
      "DayOfWeekStr": "Tuesday"
    },
    {
      "DayOrder": 3,
      "DayOfWeekStr": "Wednesday"
    }
  ]
}
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;


 JSONParser jsonParser = new JSONParser();
 Object obj = jsonParser.parse(inputstring);
 JSONArray array = (JSONArray) obj["data"];

共有1个答案

赵灼光
2023-03-14

你可以试试这样的东西;

String jsonString = "{\"data\":[{\"DayOrder\":2,\"DayOfWeekStr\":\"Tuesday\"},{\"DayOrder\":3,\"DayOfWeekStr\":\"Wednesday\"}]}";

使用Gson

Gson gson = new Gson();
YourDTO dtoObj = gson.fromJson(jsonString, YourDTO.class);
// dtoObj.getData().stream()....
dtoObj.getData().forEach(obj -> {
    // your code goes here
    }
);

像这样进口gson;

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.7</version>
</dependency>
implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.7'
 类似资料:
  • 我有一个非常复杂的字符串,如下所示, 这里所有的JSON数据都在括号“[]”中,括号之间用“{…}”分隔支撑。在这里,我想要一个从所有花括号的消息,故事和属性。尝试了两件事一是二把所有的东西都放在一个JSON对象中,也尝试了一次无用的尝试来匹配regex“message:”但即使这样也没用。 从所有大括号中查找消息、故事和属性的方法是什么。

  • 我有以下格式的json文件: 那么,我如何在pig中解析这个json。。 此外,categories和rep中可以有一些char。。可能并不总是空的。我做了以下尝试。 但我得到这个错误: 组织。科德豪斯。杰克逊。JsonParseException:意外字符('D'(代码68)):在[源代码:java.io]处应为有效值(数字、字符串、数组、对象、“true”、“false”或“null”)。By

  • 我从一个复杂的json中获取空数据,这里是json。当我试图解析它时,我得到了null。请看一看。 我已生成模型类:https://javiercbk.github.io/json_to_dart/ 生成模型类后,创建一个新的类名ModelClass。 另一个类名为APiResponse并编写代码:这个类获取api响应并返回响应:APiResponse。fromJson(jsonDecode(re

  • 我正在从Azure事件中心获取流数据集。数据采用以下格式: 从下面的文章中,我可以得到json作为原始字符串。https://docs.databricks.com/spark/latest/structured-streaming/streaming-event-hubs.html 但是我不能使用get_jon_object从字符串中提取单个项目。我认为问题在于字符串不是单个的json对象,它是

  • 我正在尝试在java中解析JSON字符串以单独打印单个值。但是在运行程序时,我得到了以下错误- 我的班级看起来像- 让我知道我遗漏了什么,或者每次运行应用程序时都会出现错误的原因。如有任何意见,将不胜感激。

  • 问题内容: 是否可以对JSON对象执行复杂的查询?我愿意接受JavaScript或jQuery解决方案,越轻松越好。我正在构想某种类似于LINQ或SQL的功能编程语言。 我不希望其他任何第三方库或附加组件。 更新 从早期答案的外观来看,将需要一个附加组件。在这种情况下,我更喜欢不需要安装过程的加载项。随软件发布一起部署的东西(如jQuery)很好(例如* .js文件集)。 问题答案: 签出:是否有