【问题标题】:How I can parse JSON to Array in Java? [closed]如何在 Java 中将 JSON 解析为数组? [关闭]
【发布时间】:2023-03-27 11:30:01
【问题描述】:

对不起,我的英语有限。

我有一个从 POST 请求发送到 Java 中的 spring 控制器的 JSON。

我需要将此 JSON 解析为一个数组。我该怎么做?

谢谢!

【问题讨论】:

标签: java json spring rest post


【解决方案1】:

另一种选择是使用json-smart

  1. 将 JSON 转换为对象 JSONObject jsonObj = (JSONObject) JSONValue.parseWithException(inputJsonInStringFormat);

  2. 使用get()方法检索数组 Integer [] intArray = (JSONArray) (JSONObject) jsonObj.get("arrayName");

【讨论】:

    【解决方案2】:

    使用javax.json 库,应该是这样的:

    JsonReader reader = Json.createReader(new FileInputStream(dir));
    JsonArray re = (JsonObject) reader.read() ;
    double[] ret = new double[jre.size()];
    for ( int i = 0; i<jre.size(); i++)
        ret[i] = Double.parseDouble( jre.getString(i) );
    

    但是,它确实取决于 Json 文件的外观。也许它是一个 Json 对象,有一个参数,它有一个数组作为值,或者其他东西。不过,我希望这段代码能给你一个先机。

    【讨论】:

      【解决方案3】:

      你不应该自己处理它,让 spring mvc 为你做,一旦你启用 spring mvc 注释,你将隐式地拥有 json 转换器,你只需要将 jackson jars 添加到类路径,查看这个视频https://www.youtube.com/watch?v=DnDCJjjSiu8 ,如果想将 JSON 作为 ["value1","value2"] 发送,您可能会遇到问题,在这种情况下,您需要自定义 JsonDeserializer

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-10-11
        • 2020-09-27
        • 2017-06-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多