int数组到java中的json对象

kon*_*hem 5 java arrays json

我试图用JSON格式放两个int []和一个double []来通过我的java servlet发送.这就是我到目前为止所拥有的.

private JSONObject doStuff(double[] val, int[] col_idx, int[] row_ptr){
    String a = JSONValue.toJSONString(val);
    String b = JSONValue.toJSONString(col_idx);
    String c = JSONValue.toJSONString(row_ptr);
    JSONObject jo = new JSONObject();
    jo.put("val",a)
    jo.put("col",b);
    jo.put("row",c);
    return jo;
}
Run Code Online (Sandbox Code Playgroud)

但是当我打印JSONobject时,我得到了这个不可读的结果:

{"val":"[D@62ce3190","col":"[I@4f18179d","row":"[I@36b66cfc"}
Run Code Online (Sandbox Code Playgroud)

我在javascript中得到了相同的结果,我将JSONObject发送到.从数字到字符串的转换是否有问题?我应该使用JSONArray吗?

raj*_*uGT 7

这是因为该toString方法int[]double[]将返回对象的默认Object.toString().

替换为Arrays.toString(int[]/double[]),您将获得预期的结果.

有关toString的更多说明,请查看此答案.