2013-08-24 2 views
2

Я работаю над API для объектива C, который имеет эквивалентную версию JAVA. Они использовали элементы JSON.org для определения разбора JSON в JAVA.JSONObject Java-эквивалент для Objective C

import org.json.JSONObject; 

public class TestCodeRequest{ 
    private HashMap<String,JSONObject> query = new HashMap<String, JSONObject>(); 
    private JSONObject queryResult; 

} 

и

public TestCodeRequest add(String endpoint, Object... fields) { 
     JSONObject endpointQuery; 
     if ((endpointQuery = query.get(endpoint)) == null) { 
      endpointQuery = new JSONObject(); 
      query.put(endpoint,endpointQuery); 
      } 
     JSONObject sq = endpointQuery; 
     for (int i=0;i<fields.length-2;i++) { 
     JSONObject tmp = sq; 
     if(sq.has((String)fields[i])){ 
     try { 
      sq = sq.getJSONObject((String)fields[i]); 
      } catch(Exception e) { 
       throw new Semantics3Exception(
         "Invalid constraint", 
         "Cannot add this constraint, '" + fields[i] +"' is already a  value."); 
           } 
     } else { 
      sq = new JSONObject(); 
      tmp.put((String)fields[i], sq); 
     } 
    } 
     sq.put((String)fields[fields.length-2], fields[fields.length-1]); 
     return this; 
    } 

Я думаю NSDictionary объективный C эквивалент HashMap. Я использую JSONKit для разбора JSON. Интересно, что будет JSONObject в этом случае.

ответ

4

JSONObject эквивалентно NSDictionary (неупорядоченный сбор имен/значений или пары ключ/значение).