2014-09-15 2 views
-1

나는 다음과 같은 형식의 API에서 JSON 응답이 피보험자 : 나는객체 JSON에서 추출 문자열 - REST는

String response = get("/url").asString(); 

및 I와 응답 개체의 응답을받을 수

{ 
    "Sample String 1" 
    "Sample String 2" 
} 

을 응답을 다시 받으십시오.

{ 
    String1, 
    String2 
} 

유효한 모든 문자열을 추출하는 방법은 있습니까? String1과 String2는 중괄호가없는 콜렉션으로 변환합니까? 문서에서는 노드의 이름을 사용하여 값을 추출 할 수 있다고 설명하지만이 경우 JSON 응답은 문자열의 모음 일뿐입니다.

+5

샘플 응답이 JSON이 아닙니다. 객체는 키/값 쌍이며 샘플에는 값이 없습니다. '{ "a": 1}'. – maerics

+0

json.org로 이동하여 JSON 구문을 익히십시오. 5-10 분 밖에 걸리지 않습니다. –

답변

1

유효하지 않은 JSON입니다. 당신이 정말로 문자열 배열로 그를 설정하려는 경우, 당신은이 작업을 수행 할 수 있습니다

String str = "{ String1, String2 }" 
String[] arr = str 
    .replace('{','') // Get rid of left brackets 
    .replace('}','') // Get rid of right brackets 
    .replace(' ','') // Get rid of spaces 
    .split(',');  // Split on commas 

당신에게 [ "문자열 1", "문자열 2"]

주와 같은 배열을 제공해야하는 그 위의 코드 그것을 수행하는 가장 강력하거나 효율적인 방법이 아닙니다 (심지어 닫히지도 않음). 유효한 JSON 응답을 얻고 JackSON 또는 GSON과 같은 알려진 구문 분석기를 사용하려고합니다. 그러나 만약 당신이 정말로 그것을 그대로 해석하고 싶다면, 그것은 효과가 있습니다.

+0

따옴표는 잊지 말고 대상 문자열의 인용 부호를 이스케이프해야한다는 것을 잊지 마십시오 ... – maerics

+0

제가 말했듯이, 제 대답은 기본적으로 좋은 입력 값이 있다면 값이 쉼표가없고 공백이 없습니다. , 따옴표 없음 등). JSON Parser는 분명히 그렇지 않으면 정규식이 엉망이 될 방법입니다. –

+0

그래, 사실. – maerics