저는 Android에서 앱을 개발 중입니다. 나는 다음과 같은 JSONJSON과 java 맵 사이에 명확한 설명이 필요합니다.
[{"id":"1","number":"2"},{"id":"3","number":"4"},{"id":"5","number":"6"},{"id":"7","number":"8"}]
내가 세션 객체와 PHP (웹 서버)의 연결 부분을 완료하고, 문자열로 저장하고있다에게 제공 PHP의 API를 구축해야합니다. 지금 나는 (내가 해시 맵을 사용! 돈, 이것은 최선의 경우 t 알고 !!!! 어떤 제안을 환영합니다) 로컬 컬렉션을 저장하려면 내 된 JSONObject 배열의 정의 .Because 나는 다음을 선언합니다 : HashMap<Integer, LinkedHashMap<String, String>> hashmap;
일반 아이디어는 integer
색인에 저장하고 LinkedHashMap<String, String>
모든 jsonobject에 저장하는 것이 었습니다. 실패
hashmap[0] = {"id":"1","number":"2"}
hashmap[1] = {"id":"3","number":"4"}
hashmap[2] = {"id":"5","number":"6"}
코드 : 내가 원하는 해시 맵의 인스턴스가 뭔가하는
JSONObject tempjson;
hashmap = new HashMap<Integer, LinkedHashMap<String,String>>();
LinkedHashMap<String, String> linkedmap = new LinkedHashMap<String, String>();
for(int i=0;i<jsonarray.length();i++)
{
JSONObject tempjsonobject = jsonarray.getJSONObject(i);
linkedmap.put("id", tempjsonobject.getString("id"));
linkedmap.put("number", tempjsonobject.getString("id"));
hashmap.put(i, linkedmap);
}
의 LinkedHashMap은 항상 마지막 항목이있다 ->"id":"7","number":"8"
그러나이 난의 선언을 할 경우 LinkedHashMap<String, String> linkedmap = new LinkedHashMap<String, String>();
내부는 for loop
입니다. 이런 이유
나에게 사람을 설명 할 수 있습니까? 주석에
는
왜 http://jackson.codehaus.org 같은 실제 JSON 파싱 라이브러리를 사용하지 않는? – fge
JSON 배열에 배열 유형을 사용하는 이유는 무엇입니까? –
json이 너무 단순하기 때문에 반복되는 값의 배열입니다. 비록, 내가 왜 linkshasmap 해시 맵을 채우기 위해 for 루프 내부를 명확히해야하는지 이해하고 싶다 ????? – mpregos