私はorg.json
を使用してjsonオブジェクトと値を検索します(org.json
が必要です)。子配列要素に到達しようとしています。JavaのJSON入れ子配列要素を取得
マイJSON:メソッドがどのように見える
{"array 1":[
{"name":"red","capacity":"123","server":"red1"},
{"capacity":"456","name":"blue","name":"blue1"}
]}
{"array 2":[
{"capacacity":"1234","name":"white","server":"white1"},
{"name":"black","capacity":"4567","server":"black1"}
]}
{"array 1":[
{"name":"red","capacity":"123","server":"red1"},
{"capacity":"456","name":"blue","name":"blue1"}
]}
{"array 2":[
{"capacity":"1234","name":"white","server":"white1"},
{"name":"black","capacity":"4567","server":"black1"}
]}
:
{
"Info": {
"name": "my_json",
},
"my_array": {
"arrays": [
{
"array 1": [
{
"name": "red",
"server": "red1",
"capacity": "123"
},
{
"name": "blue",
"server": "blue1",
"capacity": "456"
}
]
},
{
"array 2": [
{
"name": "white",
"server": "white1",
"capacity": "1234"
},
{
"name": "black",
"server": "black1",
"capacity": "4567"
}
]
}
]
}
}
この出力
public static String processJson(String[] args) throws JSONException {
String value = "";
String jsonData = readFile(args[0]);
JSONObject jobj = new JSONObject(jsonData);
if (args[1].equals("my_array")) {
JSONObject parent = jobj.getJSONObject("my_array");
JSONArray jarr = parent.getJSONArray("arrays");
for (int i = 0; i < jarr.length(); i++) {
for (int j = 0; j < jarr.length(); j++) {
JSONObject test1 = jarr.getJSONObject(j);
System.out.println(test1);
}
}
}
return value;
}
私がするの戻り値をしたいと思います:
[{"name":"red","capacity":"123","server":"red1"
{"capacity":"456","name":"blue","name":"blue1"}]
array 1
要素を取得することはできますか? ネストされたループはそれを処理すると思っていましたが、同じ時間だけを出力します。
何フォーマットしたいなら、あなたはループ
を必要としませんか? – jeanr
@jeanr私はそれが 'my_array'だと思います –
jsonペイロードの構造を読み込もうとすると、my_array.arrays [0]。" array 1 " my_array.arrays [1]。" array 1 " json形式がきちんと整理されていますか、つまり適切な階層または関係になっていますか? – dirai