codemanian_helloworld:
だから、私はこのようになりますのJavaで何かをしようとしたが、出力は素敵に見えていません。
コード例の一つは、私がJSONファイルを作ってみました:
String name = "usericals.json";
JSONObject jsonObj = new JSONObject();
JSONArray scene = new JSONArray();
JSONArray element = new JSONArray();
jsonObj.put("scene", scene);
for (int i = 0; i < 1; i++) {
for (int ii = 0; ii < 1; ii++) {
element.put(write);
}
jsonObj.put("element", element);
}
scene.put(element);
try (PrintWriter writer = new PrintWriter("new.json", "UTF-8")) {
writer.write(jsonObj.toString(4));
} catch (Exception ex) {
System.out.println("exception " + ex);
}
私はこのように見えますが、私は右のそれを得ることができないJSONファイルを作りたかったです。私は唯一の配列上記の私のコードで作成しています。誰もがアイデアや提案を持っていますか?
私が欲しいJSONファイル:
{
"scene": [
{
"id": 0,
"calendar_event": "urlaub",
"element": [
{
"anything": ""
},
{
"anything": ""
}
]
},
{
"id": 1,
"calendar_event": "urlauburlaub",
"element": [
{
"anything": ""
},
{
"anything": ""
}
]
},
{
"id": 2,
"calendar_event": "urlauburlauburlaub",
"element": [
{
"anything": ""
},
{
"device": "",
"anything": ""
}
]
},
{
"id": 3,
"calendar_event": "urlauburlauburlauburlaub",
"element": [
{
"anything": ""
},
{
"anything": ""
}
]
}
]
}
user1039663:
再帰的に使用JSONObject。(それが簡単にreadedすることができますので、私はいくつかの余分なインデントを追加しますが、実際のプロジェクトで活用機能の代わりに)このような何かを試してみてください:
JSONObject json = new JSONObject();
JSONArray scene = new JSONArray();
JSONObject node = new JSONObject();
node.put("id", 0);
node.put("calendar_event", "urlaub");
JSONArray element = new JSONArray();
JSONObject enode = new JSONObject();
enode.put("anything", "");
element.add(enode);
//...
node.put("element", element);
scene.add(node);
json.put("scene", scene);
//...
このような注意は手動でJSONsを生成しますが、スキャンオブジェクトはjsonsを生成することを他のライブラリがあります。必要に応じて、それはeaserことができますが、メモリ内に保持する必要があるため、同じ木の2つのコピーを行っているので、あなたがオーバーヘッドすべてに行っているので、その意思を覚えることができます。また、多分階層構造プレーンJavaオブジェクトを使用して問題に対処します。