7

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.

kishore
  • 1,658
  • 7
  • 24
  • 33

2 Answers2

12

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, );
alexey28
  • 5,170
  • 1
  • 20
  • 25
11

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

Iriminage
  • 177
  • 2
  • 17