Dziś dużo googlowałem do tego tematu. Ale nie mogę go znaleźć, Jak mogę dodać JSONArray do JSONObject?Dodaj JsonArray do JsonObject
Ponieważ za każdym razem to zrobić otrzymuję ten błąd: StackOverflow
JSONObject fillBadkamerFormaatFromContentlet(Structure structure, String formaat) {
JSONObject jsonObject = new JSONObject();
JSONArray arr = new JSONArray();
BadkamerFormaat badkamerFormaat = new BadkamerFormaat();
BadkamerTegel badkamerTegel;
List<Contentlet> contentlets = getContentletsByStructure(structure);
badkamerFormaat.formaat = formaat;
badkamerFormaat.tegels = new ArrayList<BadkamerTegel>();
try {
jsonObject.put("formaat", formaat);
} catch (JSONException e1) {
throw new RuntimeException(e1);
}
for(Contentlet contentlet : contentlets) {
badkamerTegel = new BadkamerTegel();
badkamerTegel.naam = contentlet.getStringProperty(ParameterNames.toolBetegelVeldNaam);
try {
badkamerTegel.afbeeldingTegel = contentlet.getBinary(ParameterNames.toolBetegelVeldTegelAfbeelding).getPath();
badkamerTegel.afbeeldingBadkamer = contentlet.getBinary(ParameterNames.toolBetegelVeldBadkamerAfbeelding).getCanonicalPath();
arr.put(badkamerTegel.toJSON());
} catch (IOException e) {
throw new RuntimeException(e);
}
}
try {
jsonObject.put("aoColumnDefs",arr);
} catch (JSONException e) {
throw new RuntimeException(e);
}
return jsonObject;
}
otrzymuję ten błąd:
java.lang.StackOverflowError
at com.dotmarketing.util.json.JSONArray.<init>(JSONArray.java:248)
at com.dotmarketing.util.json.JSONObject.put(JSONObject.java:953)
at com.dotmarketing.util.json.JSONObject.put(JSONObject.java:953)
at com.dotmarketing.util.json.JSONObject.put(JSONObject.java:953)
at com.dotmarketing.util.json.JSONObject.put(JSONObject.java:953)
at com.dotmarketing.util.json.JSONObject.put(JSONObject.java:953)
at com.dotmarketing.util.json.JSONObject.put(JSONObject.java:953)
at com.dotmarketing.util.json.JSONObject.put(JSONObject.java:953)
at com.dotmarketing.util.json.JSONObject.put(JSONObject.java:953)
at com.dotmarketing.util.json.JSONObject.put(JSONObject.java:953)
at com.dotmarketing.util.json.JSONObject.put(JSONObject.java:953)
at com.dotmarketing.util.json.JSONObject.put(JSONObject.java:953)
at com.dotmarketing.util.json.JSONObject.put(JSONObject.java:953)
at com.dotmarketing.util.json.JSONObject.put(JSONObject.java:953)
at com.dotmarketing.util.json.JSONObject.put(JSONObject.java:953)
at com.dotmarketing.util.json.JSONObject.put(JSONObject.java:953)
at com.dotmarketing.util.json.JSONObject.put(JSONObject.java:953)
at com.dotmarketing.util.json.JSONObject.put(JSONObject.java:953)
at com.dotmarketing.util.json.JSONObject.put(JSONObject.java:953)
at com.dotmarketing.util.json.JSONObject.put(JSONObject.java:953)
at com.dotmarketing.util.json.JSONObject.put(JSONObject.java:953)
at com.dotmarketing.util.json.JSONObject.put(JSONObject.java:953)
at com.dotmarketing.util.json.JSONObject.put(JSONObject.java:953)
at com.dotmarketing.util.json.JSONObject.put(JSONObject.java:953)
JSON chcę: Tylko ostatni JsonArray idzie źle:
{
"wand": [
{
formaat: 'vierkant15x15'
tegels: [
{naam: '', imgThumb: '/bla/bla.png', largeImg: '/bla/bla2.png'}
,{naam: '', imgThumb: '/bla/bla.png', largeImg: '/bla/bla2.png'}
]
}
,
{
formaat: 'vierkant17x15'
tegels: [
{naam: '', imgThumb: '/bla/bla.png', largeImg: '/bla/bla2.png'}
,{naam: '', imgThumb: '/bla/bla.png', largeImg: '/bla/bla2.png'}
]
}
]
, "vloer": [ { forma: 'vierkant10x15' tegels: [ {naam: '', imgThumb: '/bla/bla.png', largeImg: '/bla/bla2.png'} , {naam: '', imgThumb: ' /bla/bla.png”, largeImg: '/bla/bla2.png'} ] } ,
{
formaat: 'vierkant45x15'
tegels: [
{naam: '', imgThumb: '/bla/bla.png', largeImg: '/bla/bla2.png'}
,{naam: '', imgThumb: '/bla/bla.png', largeImg: '/bla/bla2.png'}
]
}
]
}
Hmm .. Także osoba, która mu odpowiedziała, jego opcja nie działa dla mnie! – Gynnad
Myślę, że to może być błąd w implorze json, którego używasz. wygląda tak, jakbyś poprawnie używał interfejsu API z podanego kodu. – jtahlborn