I would like to know, whats the right structure for a list of objects in JSON.
We are using JAXB to convert the POJO's to JSON.
Here is the choices, Please direct me what is right.
foos: [foo:{..},foo:{..}]
or
foos : [{...},{...}]
If the first structure is right, what is the JAXB annotation I should use to get the structure right.
Best Answer
The second is almost correct:
{"foos" : [{"prop1":"value1","prop2":"value2"}, {"prop1":"value3", "prop2":"value4"}]}
The first example from your question,
foos: [foo: { ... },foo: { ... }]
is in invalid syntax. You cannot have object properties inside a plain array.
The second example from your question,
foos: [{ ... },{ ... }]
is right although it is not strict JSON. It's a relaxed form of JSON wherein quotes in string keys are omitted.
Following is the correct one when you want to obey strict JSON:
"foos": [{ ... },{ ... }]
This "Mastering JSON" tutorial by Patrick Hunlock, may help to learn about JSON and this site may help to validate JSON.
As others mentioned, Justin's answer was close, but not quite right. I tested this using Visual Studio's "Paste JSON as C# Classes"
{"foos" : [{"prop1":"value1","prop2":"value2"},{"prop1":"value3", "prop2":"value4"}]}
- I use jsonformatter page to test the json validator.
- try to use jsonwhatever
example:
list_a = func_generator_of_objects()json_string = jsonwhatever('foos',list_a)