3

I'm trying to generate that kind of JSON String using Java (purpose : flot for Android) :

{
"data": [[1999, 1], [2000, 0.23], [2001, 3], [2002, 4], [2003, 1.3], [2004, 2.5], [2005, 2.0], [2006, 3.1], [2007, 2.9], [2008, 0.9]]
}

To do this, I'm using JSONArray like this :

JSONArray jsonArray = new JSONArray();
jsonArray.put("[1999, 1]");
jsonArray.put("[2000, 0.23]");
jsonArray.put("[2001, 3]");
...

But the only result I get is this :

["[1999, 1]","[2000, 0.23]","[2001, 3]",..."[2008, 0.9]"]

How Can I remove quote between brackets ? Can I type the items of my array ?

Thanks in advance!

1 Answer 1

5

What you are doing is just adding Strings to the array. You don't want Strings, you want nested arrays. So you have to work with nested JSONArray objects:

Here's the standard way:

JSONArray nested1 = new JSONArray();
nested1.put(1999);
nested1.put(1);
jsonArray.put(nested1);

Or, simpler:

jsonArray.put(new JSONArray(Arrays.asList(1999, 1)));

Or, even simpler:

jsonArray.put(Arrays.asList(1999, 1));
// or use an int array:
jsonArray.put(new int[]{1999, 1});
Sign up to request clarification or add additional context in comments.

1 Comment

Thanks a lot for the quick an exhaustive answer ! This works just great!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.