kishore
kishore

Reputation: 1748

To get all the keys in JSONObject into String array

I want to create a json object from existing json object. For this i want to get all the keys in JSONObject to a String[] array. Is there any default method to get the keys into a String array. I found there exists a static method here getNames() but it's not working.

I can go over each key using iterator and can construct a keys String array but i want any default method if exists.

Upvotes: 7

Views: 28710

Answers (2)

Iriminage
Iriminage

Reputation: 177

There is not getNames(), but there is Names()

Upvotes: 11

alexey28
alexey28

Reputation: 5220

To construct JSONObject from other JSONObject you can use constructor that accept JSONObject and array of keys names that should be copied. To do it:

Iterator keysToCopyIterator = firstJSONObject.keys();
List<String> keysList = new ArrayList<String>();
while(keysToCopyIterator.hasNext()) {
    String key = (String) keysToCopyIterator.next();
    keysList.add(key);
}
String[] kesyArray = keysList.toArray(new String[keysList.size()]);
JSONObject secondJSONObject = new JSONObject(firstJSONObject, );

Upvotes: 12

Related Questions