Program Tip

Json에서 getString ()과 optString ()의 차이점

programtip 2020. 11. 17. 21:01
반응형

Json에서 getString ()과 optString ()의 차이점


getString()optString()JSON 의 차이점은 무엇입니까 ?


Diego가 언급했듯이 여기에 질문을 게시하기 전에 문서 를 확인하는 것이 좋습니다 (이 링크는 이제 구식입니다-우리는 Wayback Machine이 있습니다! ).

차이점은 지정한 키가없는 경우 optString빈 문자열 ( "") 반환 한다는 것 입니다. getString반면에 JSONException. 사용 getString이 데이터가 누락하는 오류 인 경우, 또는 optString확실하지 않은 경우가있을 것입니다 경우.

편집 : 문서의 전체 설명 :

키와 관련된 선택적 문자열을 가져옵니다. 그러한 키가 없으면 빈 문자열을 반환합니다. 값이 문자열이 아니고 null이 아니면 문자열로 변환됩니다.


피하고 NullPointerException싶다면 더 잘 활용하십시오.optString()

JSON언제든지 데이터를 가져 오는 경우 nullNull 조건을 구현하는 대신 특정 키 값에 대한 데이터 가있을 수 있습니다.이 최적화 된 방법을 사용하는 것이 좋습니다.optString("<keyname>")


public java.lang.String optString (int index) 인덱스와 연관된 선택적 문자열 값을 가져옵니다. 해당 인덱스에 값이 없으면 빈 문자열을 반환합니다. 값이 문자열이 아니고 null이 아니면 문자열로 변환됩니다. 매개 변수 : index-인덱스는 0과 length () 사이 여야합니다.-1 반환 값 : 문자열 값.


1) getString (문자열 이름) :- 이 메소드는 이름으로 매핑 된 문자열 값이있는 경우 반환하고 필요한 경우 강제하거나 이러한 매핑이없는 경우 JSONException을 throw 합니다.

2) optString (문자열 이름) :- 이 메소드는 이름으로 매핑 된 문자열 값을 반환합니다 (있는 경우). 필요한 경우 강제 변환하거나 그러한 매핑이없는 경우 빈 문자열 ( "")을 반환합니다.


optString ()은 NullPointerException을 극복하는 데 사용되며, 필요한 키가 json에 존재하지 않을 때 getString ()을 사용하는 동안 기본적으로 기본값으로 대체됩니다.

예를 들어 입력 Json을

{
"name":"abhi",
"country":"india"
}

이제 자바에서 실행할 때

String city = json.getString("city");

그것은 발생합니다 NullPointerException.

사용하여 optString(String key, String default)우리는 위의 문제를 극복 할 수 있습니다.

String city= json.optString("city","default");

System.out.println(city);

출력 : 기본값

참고 URL : https://stackoverflow.com/questions/13790726/the-difference-between-getstring-and-optstring-in-json

반응형