Volley 사용 시 Value ¿of type java가 나타납니다.lang.String이 JSONObject 오류로 변환될 수 없습니다.
public class NormalPostRequest extends Request {
private Map mMap;
private Response.Listener mListener;
public NormalPostRequest(String url, Response.Listener listener, Response.ErrorListener errorListener, Map map) {
super(Method.POST, url, errorListener);
mListener = listener;
mMap = map;
}
//mMap , ,
@Override
protected Map getParams() throws AuthFailureError { return mMap; }
// response json , JsonObjectRequest
@Override
protected Response parseNetworkResponse(NetworkResponse response) {
try {
String jsonString = new String(response.data, HttpHeaderParser.parseCharset(response.headers));
L.i("jsonString=="+jsonString);
return Response.success(new JSONObject(jsonString),HttpHeaderParser.parseCacheHeaders(response));
} catch (UnsupportedEncodingException e) {
return Response.error(new ParseError(e));
} catch (JSONException je) {
return Response.error(new ParseError(je));
}
}
@Override
protected void deliverResponse(JSONObject response) {
mListener.onResponse(response);
}}
나는 이곳에서 json String을 인쇄했는데, 이곳의 데이터가 확실히 혼란스러운 것을 발견했다.그래서 나는 이곳에서
String jsonString =
new String(response.data, HttpHeaderParser.parseCharset(response.headers));```
String jsonString = new String(response.data, "utf-8");``` 이게 다야!알 수 있듯이 HttpHeaderParser를 사용합니다.parseCharset(response.headers)에서 인코딩을 설정하는 것은 옳지 않습니다. 적어도 모든 것을 호환할 수 없습니다!이틀 동안 괴롭혔던 문제가 마침내 해결되었으니, 이에 기록하여 같은 기이한 문제가 있는 학우들에게 도움이 되었으면 합니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.