Skip to content

Commit cb33db4

Browse files
committed
don't use JSONObject.getNames
1 parent 50bf3e1 commit cb33db4

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

src/main/java/com/esri/core/geometry/JSONObjectEnumerator.java

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,17 @@
2323
*/
2424
package com.esri.core.geometry;
2525

26-
import java.util.ArrayList;
27-
import org.codehaus.jackson.JsonParser;
28-
import org.codehaus.jackson.JsonToken;
29-
import org.json.JSONArray;
3026
import org.json.JSONObject;
3127

28+
import java.util.Iterator;
29+
3230
final class JSONObjectEnumerator {
3331

3432
private JSONObject m_jsonObject;
3533
private boolean m_bStarted;
3634
private int m_currentIndex;
37-
private String[] m_keys;
35+
private Iterator<?> m_keys_iter;
36+
private String m_current_key;
3837

3938
JSONObjectEnumerator(JSONObject jsonObject) {
4039
m_bStarted = false;
@@ -51,7 +50,7 @@ String getCurrentKey() {
5150
throw new GeometryException("invalid call");
5251
}
5352

54-
return m_keys[m_currentIndex];
53+
return m_current_key;
5554
}
5655

5756
Object getCurrentObject() {
@@ -63,15 +62,23 @@ Object getCurrentObject() {
6362
throw new GeometryException("invalid call");
6463
}
6564

66-
return m_jsonObject.opt(m_keys[m_currentIndex]);
65+
return m_jsonObject.opt(m_current_key);
6766
}
6867

6968
boolean next() {
7069
if (!m_bStarted) {
7170
m_currentIndex = 0;
72-
m_keys = JSONObject.getNames(m_jsonObject);
71+
m_keys_iter = m_jsonObject.keys();
7372
m_bStarted = true;
73+
if (m_keys_iter.hasNext()) {
74+
m_current_key = (String)m_keys_iter.next();
75+
}
76+
7477
} else if (m_currentIndex != m_jsonObject.length()) {
78+
if (m_keys_iter.hasNext()) {
79+
m_current_key = (String)m_keys_iter.next();
80+
}
81+
7582
m_currentIndex++;
7683
}
7784

0 commit comments

Comments
 (0)