2011-02-08 3 views
1

일반적인 인터넷 관련 기능을 처리하는 나 자신을위한 라이브러리를 만드는 방법을 찾고 있습니다. 지금까지 나는 HTTP GET과 POST 함수를 가지고 있었고, 이제는 JSON을 문자열로 받아서 검색 할 수있는 다차원 연관 배열로 변환 할 수있는 단일 크기의 JSON 파싱 함수를 개발하려고합니다 .android/java의 다차원 배열에 대한 JSON

나는 stackoverflow를 살펴본 결과 매우 유용한 것으로 보이는 this link을 발견했습니다. 코드가 매우 구체적으로 설계되었습니다. org.json. *에 JSON 문자열을 다중 차원 배열로 변환하여 클래스 외부에서 반환하고 조작 할 수있게 해주는 유용한 편리한 기능이 있습니까?

감사합니다. John.

ps. 나는 자바에 대한 경험이 거의 없다는 것을 언급해야한다 - 나는 PHP 개발자이다.

+0

JSONObject에 비해 "다차원 연관 배열"의 장점은 무엇입니까? –

+0

전적으로 확신하지 못합니다. PHP 개발자로서 데이터가 JSON에서 추출되면 배열이 더 유용 할 것이라고 생각합니다. –

+1

거의 자바로 배열을 사용하지 않습니다. 지도가 있다면지도가 될 것입니다. 그러나 "더 나은"인터페이스를 만들기 전에 기존 인터페이스를 사용하는 방법을 배우고 그 인터페이스가 작동하는지 확인하십시오. 표준 JSON 인터페이스는 상당히 간단합니다. –

답변

2

나 자신의 JSON 라이브러리를 작성할 필요가 없다고 생각합니다. 안드로이드는 사용할 수 많이 온다, 또는 당신은 내가 큰 성공 했어하는 GSON를 사용할 수 있습니다

// Serialise 
String[] array = {"One","Two","Three"}; 
String json = new Gson().toJson(array); 

// De-serialise 
String[] array = new Gson().fromJson(json,String[].class); 

GSON는 전체 범위와 잘 작동 : http://code.google.com/p/google-gson/

이 얼마나 쉽게 참조 클래스 객체, 배열 및 일부 컬렉션을 포함하는 클래스

GSON 라이브러리는 Microsoft 웹 서버의 API에서 사용하는 날짜 형식을 지원하지 않지만 그 경우에는 데이터를 String var로 가져온 다음 클래스 내부에있는 프로세스가 내 자신의 구문 분석을 사용하여 날짜.

+0

고맙습니다. 저는 현재 안드로이드의 오퍼링을 사용하고 있습니다.하지만 앞으로는 GSON에 더 복잡한 자료가 필요할 것입니다. 본질적으로 JSON의 래퍼였던 이유는 가능한 한 모든 것을 OOP로 유지하려했기 때문이라고 생각하지만 실제로 실현하지 못했던 것은 그것이 다른 어떤 이점도 얻지 못했다는 것입니다 한 곳에서 다른 곳으로 코드를 옮기는 것이 었습니다. –

+0

GSON은 매우 잘 구현되어 있으며 계층 적 클래스 구조를 처리하기 때문에 객체를 던져서 직렬화합니다. 환상적이야. 날짜 형식 문제는 성가신 일입니다 (JSON 날짜 형식 표준이 없으므로 여러 공급 업체가 diff 형식을 사용함) Microsoft 웹 서버 API와의 비 호환성을 인식하고 있으므로 실제 문제가 제한적일 수 있습니다. OOP는 멋지지만, 항상 바퀴를 재발 명하는 것을 피하는 것이 좋습니다. 앱을 더 잘 만드는 데 중점을 둡니다. –

관련 문제