我如何在Java中解析JSON到Array?

时间:2014-03-26 10:37:52

标签: java json spring rest post

抱歉我的英语有限。

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

我需要将这个JSON解析为一个数组。我怎么能这样做?

谢谢!

5 个答案:

答案 0 :(得分:0)

有很多库可以解析json。请查看http://www.json.org/java/以考虑您的选择。另请查看http://www.mkyong.com/java/json-simple-example-read-and-write-json/,它为初学者提供了一个很好的教程。

答案 1 :(得分:0)

答案 2 :(得分:0)

使用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 :(得分:0)

另一种选择是使用json-smart

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

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

答案 4 :(得分:0)

你不应该自己处理它让你的弹簧mvc为你做,一旦你启用了弹簧mvc注释,你将隐含json转换器,你只需要将jackson jar添加到classpath,查看这个视频{{3如果你想将JSON发送为[&#34; value1&#34;,&#34; value2&#34;],你可能会遇到问题,在这种情况下你需要自定义JsonDeserializer