To get all the keys in JSONObject into String arra

2020-02-07 01:36发布

问题:

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.

回答1:

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, );


回答2:

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



标签: java arrays json