JSON形式で2つのint []とdouble []をjavaサーブレット経由で送信しようとしています。これはこれまで私が持っていたものです。javaのjsonオブジェクトへのint配列
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;
}
しかし、私はJSONobjectを印刷するとき、私はこの読めない結果を得る:私は、私はJSONObjectを送っていますJavaScriptで同じ結果を得る
{"val":"[[email protected]","col":"[[email protected]","row":"[[email protected]"}
を。 数字から文字列への変換に問題はありますか?代わりにJSONArrayを使うべきでしょうか?
コンソールで 'val'を印刷しようとすると、同じことが表示されます。これは 'val'配列のアドレスであり、他の配列と同様です。 – user007
確かに。 'String a = Arrays.toString(val)'はトリックを行いました。 – kongshem
まず、配列を読み込み可能な形式に変換し(Arrays.asList()を使用してリストに変換する)、処理しなければなりません。 –