Ich versuche, zwei int [] und eine doppelte [] im JSON-Format durch mein Java-Servlet zu senden. Das habe ich bisher.int-Arrays zu JSON-Objekt in Java
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;
}
Aber wenn ich die JSONObject drucken, erhalte ich diese unleserlich Ergebnis:
{"val":"[[email protected]","col":"[[email protected]","row":"[[email protected]"}
ich das gleiche Ergebnis in Javascript bekommen, wo ich die JSONObject sende an. Gibt es ein Problem mit der Konvertierung von Zahlen zu String? Soll ich stattdessen JSONArray verwenden?
Wenn Sie versuchen, Val auf der Konsole zu drucken, wird es dasselbe ausgeben. Es ist die Adresse von "val" -Array und ähnlich für die anderen. – user007
In der Tat. 'String a = Arrays.toString (val)' hat es aber geschafft. – kongshem
Sie müssen zuerst Ihre Arrays in ein lesbares Format konvertieren (konvertieren Sie es in eine Liste mit Arrays.asList()) und dann verarbeiten Sie es. –