维护CSV到JSON数组的顺序(使用Java org.json lib)

时间:2014-10-29 15:31:19

标签: java csv arrays org.json

我想在JSONArray中输入CSV的值,我现在可以使用以下代码执行此操作,但JSONArray与我的CSV字符串没有相同的顺序,有人可以帮忙吗?我正在使用org.json。

InputStream is = file.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
String inputStr, csv = "";

while ((inputStr = br.readLine()) != null){
    csv += inputStr +"\n";
}

JSONArray array = CDL.toJSONArray(csv);

我没有找到一种更简单的方法将CSV转换为JSONArray,csv String的顺序正确,并且数组创建正常,但数组未被排序,提前感谢任何可能有帮助的建议。

我看过这篇文章,但它有点落后于我需要的东西(JSONArray到CSV)Keep the order of the JSON keys during JSON conversion to CSV

1 个答案:

答案 0 :(得分:0)

如果您输入:

A, B, C
1, 2, 3
4, 5, 6

将变成JSON,如:

[
 { "A":"1", "B":"2", "C":"3" }
 { "A":"4", "B":"5", "C":"6" }
                              ]

然而,A,B和C的值可能以任何顺序出现(从一行到下一行甚至不一定相同)。你无能为力 - 这是JSON定义的一部分。