마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Web txt file merge JSONArray err

0 추천
안녕하세요. 현재 제가 막고있는 프로젝트에서

웹 서버에 있는 txt 파일이 현재 제이슨 방식으로 배열되어 있는데요

 

웹서버로 부터 url 을 통해 HttpURLConnection 방식으로

bufferedReader 로 txt 파일을 StringBuilder 로 가져오는데요

 

어떠한 값에의해서 조건에 맞는게 있다면

2개의 txt 파일을 불러와 그 파일의 json 방식의 string을 병합해서

하나의 jsonarray로 만들려고 합니다.

그래서 빌드해온 값을 다시 string 변수에 넣어 주어서

값을 가져 오면 [  ..... ][......]

되어 있는데요. 이것을 하나의 배열로 잡기 위해서

jsonStrRe = jsonStr.replace("[", "").replace("]", ","); 이런식으로 replasce를 해서

int val1 = 0;

String jsonText="";

            val1 = jsonStrRe.toString().length();
            jsonText = jsonStrRe.toString().substring(0, val1 - 1);
         
            jsonStr = "\'[" + jsonText + "\']";

이렇게 해주었습니다.

그래서 jsonStr 를 로그로 뿌렸더니

배열 형식으로 잘 나오고 다 잘되는가 싶더니

of type java.lang.String cannot be converted to JSONArray

이런 오류가 나네요...

로그에 담겨져 있는건 맨 마지막 값에 ] 대괄호 닫는게 제대로 보이는데

제이슨 에러에서는 뒤에 ] 괄호가 빠져서 나오네요..

 

jsonStr = "\'[" + jsonText + "\']"; 이 구문을

jsonStr = "[" + jsonText + "]";

 

이렇게 하면

org.json.JSONException: Unterminated array at character 3 of

이렇게 에러가 나구요...

웹으로 부터 빌드해온 값을 안드로이드에서 스트링을 리플레이스를 해서

다시 대괄호를 붙여서 json 방식으로인식하게 하려면

먼가 규칙이라거나 규약이 있는건가요 ??

구글링을 해도 비슷한 경우는 나오지만 ... 어떻게 하면 좋을가요 ?? 지금 4일째 이거 하나 때문에...

이것만 되면 끝인데... 고수님도 도움 부탁드려요...

 

궁금하신 소스와 관련되서는 요청하시는 분들께 오픈해드립니다.

 

그럼 답변 부탁드립니다 ㅠㅠ
GreatLee (120 포인트) 님이 2013년 3월 14일 질문

1개의 답변

0 추천
JSONObject - http://developer.android.com/intl/ko/reference/org/json/JSONObject.html

JSONArray - http://developer.android.com/intl/ko/reference/org/json/JSONArray.html

ex

JSONObject a = new JSONObject(resData1);

JSONObject b = new JSONObject(resData2);

JSONArray obj = new JSONArray();

obj.put(a);

obj.put(b);

Log.d("TAG", obj.toString());
aucd29 (218,390 포인트) 님이 2013년 3월 18일 답변
...