こんにちは、私はJSONObject内のJSONArrayのマージに関して問題があります。以下は私のJSONObjectがどのように見えるかです:.Iはここ1 JSONObjectにそれぞれx
とy
をマージしたかった今、私は(coords
内)マージしたいものをJSONObjectsのキーを持つJAVAのJSONObject内に2つのJSONArrayをマージする
{
"name":"sample.bin.png",
"coords":{
"1":{"x":[ 974, 975],"y":[154, 155},
"3":{"x":[124, 125],"y":[529]},
"8":{"x":[2048, 2049],"y":[548, 560, 561, 562, 563, 564 ]}
}
}
私のコードされています
String[] tokens = request().body().asFormUrlEncoded().get("coords")[0].split(","); //here i recieve the String Array Keys of the coords i want to merge
if (!image.equals("")) {
JSONObject outputJSON = getImageJSON(image); //here comes the JSON which i posted above
JSONObject coordsPack = (JSONObject) outputJSON.get("coords");
JSONObject merged = new JSONObject();
merged.put("x", new JSONArray());
merged.put("y", new JSONArray());
for (String index : tokens) {
JSONObject coordXY = (JSONObject) coordsPack.get(index);
JSONArray xList = (JSONArray) coordXY.get("x");
JSONArray yList = (JSONArray) coordXY.get("y");
merged.get("x").addAll(xList);
merged.get("y").addAll(yList);
}
System.out.println(merged);
}
ただし、私はmerged.get("x").addAll(xList);
とmerged.get("y").addAll(yList);
にエラーがあります。このメソッドにアクセスすることはできません。
感謝。申し訳ありませんが、私はJavaに慣れていないので、何が最良のアプローチになる可能性があるのかについての最善のアプローチになるかどうかはわかりません。 – Seeker
Javaでは、コレクションの構造はPHPとは全く異なります。使用しているデータ型は正確であり、特定のコードブロックのスコープには注意が必要です。あなたの目標にアプローチするために私の答えを更新します。 –
私はおかげで仲間を見ます。あなたが言及したことの詳細については、Javaのデータ型を調べようとします。再度、感謝します。 – Seeker