【问题标题】:How to convert a JSON array which is not having JSON object in Java using List or Hashmap如何使用 List 或 Hashmap 在 Java 中转换没有 JSON 对象的 JSON 数组
【发布时间】:2021-06-09 03:49:56
【问题描述】:

如何在 Java 中使用 ListHashmap 进行转换?

{"mappingSet": ["key1": "value1", "key2": "value2"]}

【问题讨论】:

  • 这里的问题是如何在没有任何依赖的情况下将json解析为list或hashmap?
  • 这不是合法的 JSON,所以我认为你很难找到任何可行的方法。该数组需要是一个对象。如果您真的需要解析格式错误的 JSON,您将不得不手动完成。
  • @Rohini JSON 无效。

标签: java android json


【解决方案1】:

你可以使用一些第三方库 喜欢

  1. gson
  2. 杰克逊

然后你可以将json字符串转换为

  • 预定义对象
  • lib 内置对象 像 1.gson 中的 JsonObject(JsonArray, JsonElement) 和 2.jackson 中的 JsonNode

这里的例子

    ObjectMapper objectMapper = new ObjectMapper();
    String jsonArray = "[{ \"color\" : \"Black\", \"type\" : \"FIAT\" }, { \"color\" : \"Green\", \"type\" : \"NIKE\" }]";
    JsonNode jsonNodeArray = objectMapper.readTree(jsonArray);
    System.out.println(jsonNodeArray);
    System.out.println(jsonNodeArray.get(0));

【讨论】:

  • json数组里面没有json对象。
  • 顺便说一句,我不认为你上面的 json 字符串在格式上是有效的。 json 数组不能包含键值对
  • 它是一个有效的 json。
  • @Rohini 不,不是。数组中不能有 key:value 字段。通过 JSONlint 之类的 JSON 验证器运行它 - 它失败了。
  • 你可以复制粘贴到任何在线的json解析器
猜你喜欢
  • 1970-01-01
  • 2012-08-22
  • 2017-08-31
  • 2011-02-02
  • 1970-01-01
  • 2019-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多