2012-11-30 3 views
0

이 문자열을 가져 와서 String Array 또는 HashMap에 넣는 방법? 어떤 참조?JSON 문자열을 문자열 배열로 비 직렬화

 { 
     "code" : 403, 
      "errors" : [ { 
       "domain" : "global", 
       "location" : "Authorization", 
       "locationType" : "header", 
       "message" : "The domain policy has disabled third-party Drive apps", 
       "reason" : "domainPolicy" 
      } ], 
     "message" : "The domain policy has disabled third-party Drive apps" 
    } 

====

이 잭슨에 대한 내 솔루션입니다 : D

+1

온라인에서 사용할 수있는 라이브러리가 많이 있습니다. 어떤 시도 했습니까? –

+0

나는 Jackson이 있지만 그것을 사용하는 아이디어는 무엇인지 모르겠다./ – lannyboy

+0

http://www.mkyong.com/java/how-to-convert-java-object-to-from-json-jackson/ –

답변

2

시도해 볼 수 있습니다. GSON http://code.google.com/p/google-gson/을 사용하려면 매우 간단합니다. 이 json 스키마에 대한 클래스 구조 만 작성하면된다.

import com.google.gson.Gson; 
class YourErrorsJSON{ 
    private String domain 
    private String location; 
    private String locationType; 
    private String message; 
    private String reason 
} 

class YourJSON { 
    private int code; 
    private YourErrorsJSON[] errors; 
    private String message; 
} 
Gson gson = new Gson(); 
YourJSON obj = gson.fromJson(json, YourJSON.class); 
+0

btw, 그 메시지는 저자가 정말로 그것을 분석하고 싶어 확실하지 오전 오류입니다. 어쩌면 오류에 대한 하위 문자열로 충분할 수도 있습니다. –

1

이 ::

을 시도해보십시오

public class TheErrorModel { 
    public int code; 
    public Collection<Error> errors; 
    public String message; 

    public TheErrorModel() { 
    } 

    public TheErrorModel(String json) 
      throws Exception { 
     ObjectMapper mapper = new ObjectMapper(); 
     TheErrorModelother = mapper.readValue(json, TheErrorModel.class); 

     this.code = other.code; 
     this.errors = other.errors; 
     this.message = other.message; 
    } 
} 

class Error { 
    public String domain; 
    public String location; 
    public String locationType; 
    public String message; 
    public String reason; 
} 

TheErrorModel theErrorModel = new TheErrorModel(json); 

그래서 내가 theErrorModel.message 뭔가를 얻을

JSONObject yourObj = JSONObject.fromString(input_string); 
String code = yourObj.get("code"); // code will have a value 403 
+0

JSONObject 용 라이브러리는 무엇입니까? org.json.JSONObject? – lannyboy

+0

Jackson을 사용하려면 어떻게해야합니까? 이렇게 많은 라이브러리를 포함하지 않아도됩니다. – lannyboy

+0

다음을 포함시켜야합니다 : import net.sf.json.JSONArray; import net.sf.json.JSONObject; –

관련 문제