का संदिग्ध व्यवहार मैं वेब सेवा के लिए एक बड़ी स्ट्रिंग अपलोड कर रहा हूं। स्ट्रिंग में नया लाइन वर्ण होता है जिसे "\ n" के रूप में लिखा जाता है।नई लाइन वर्ण
05/06/2012 11:35:43 AM- DB exists, transferring data\n05/06/2012
11:48:20 AM- loadUserSpinners, cursor.getCount()=2\n05/06/2012
11:48:20 AM- Battery: 50%\n05/06/2012 11:48:20 AM- ITEM SELECTED: 0
उपरोक्त डेटा स्ट्रिंग JsonArrObj
में संग्रहीत है: डेटा जैसे कुछ बात लग रहा है। डेटा/स्ट्रिंग अपलोड करने के लिए, मैं निम्नलिखित कोड का उपयोग कर रहा:
HttpParams httpParameters = new BasicHttpParams();
int timeoutConnection = 360000; //6 minutes
HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection);
int timeoutSocket = 420000; //7 minutes
HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);
HttpClient httpClient = new DefaultHttpClient(httpParameters);
JSONArray jsonParams = new JSONArray();
Object[] params={IPAddress,Database,DbName,DbPassword,JsonArrObj};
for (int i = 0; i < params.length; i++) {
jsonParams.put(params[i]);
}
JSONObject jsonRequest = new JSONObject();
jsonRequest.put("id", Id);
jsonRequest.put("method", FunctionName);
jsonRequest.put("params", jsonParams);
JSONEntity entity = new JSONEntity(jsonRequest);
entity.setContentType("application/json; charset=utf-8");
HttpPost request = new HttpPost(URL);
request.setEntity(entity);
HttpResponse response = httpClient.execute(request);
StatusLine statusLine = response.getStatusLine();
int statusCode = statusLine.getStatusCode();
if (statusCode == 200) {
HttpEntity httpEntity = response.getEntity();
InputStream content = httpEntity.getContent();
BufferedReader reader = new BufferedReader(
new InputStreamReader(content,"iso-8859-1"),8);
String line;
while ((line = reader.readLine()) != null) {
builder.append(line);
LogE("result line: "+line);
String str=convertString(line);
parseJson(str);
}
content.close();
}
स्ट्रिंग सफलतापूर्वक अपलोड किया गया है। मुझे जिस समस्या का सामना करना पड़ रहा है वह है: जबकि स्ट्रिंग को jsonParams
में परिवर्तित किया जा रहा है, स्ट्रिंग डेटा में "\n"
परिणामस्वरूप सर्वर के पक्ष में "\\n"
में परिवर्तित हो जाता है, यह नई लाइन के स्थिर में एक छोटा बॉक्स दिखाता है।
जब मैं नोटपैड एप्लिकेशन में यह स्ट्रिंग खोलता हूं, तो यह छोटे बक्से प्रदर्शित करता है। लेकिन जब मैं इसे वर्डपैड ऐप में खोलता हूं, तो टेक्स्ट एक नई लाइन पर प्रदर्शित होता है। मेरे अनुसार, मैंने सही-सही "सामग्री-प्रकार" या एन्कोडिंग दर्ज की हो सकती है। कृपया इसके लिए एक समाधान का सुझाव दें। जबकि खुद
डेटा जो jsonParams- jsonArrObj
में भेज दिया जाता है अपलोड करने ...
JsonArrObj= URLEncoder.encode(JsonArrObj, "utf-8");
त्रुटि दिया अंत में लगता है कि:
05\/06\/2012 04:05:52 PM- DB exists, transferring
data\\n05\/06\/2012 04:32:56 PM- loadUserSpinners,
cursor.getCount()\\u003d2\\n05\/06\/2012 04:32:56 PM- Battery:
50%\\n05\/06\/2012 04:32:56 PM- ITEM SELECTED: 0
क्या आपने "\ n" के सामने अतिरिक्त "\" डालने का प्रयास किया है? "\ n" के बजाय "\\ n" है? –
@ वी.पी. वर्मा, अगर मैं एक "\\ n" डालता हूं, तो मैं वेब-व्यू में टेक्स्ट प्रदर्शित नहीं कर पाऊंगा। साथ ही, समस्या "\ n" को संरक्षित करना है। एन्कोडर "\ n" को गैर-वांछित "\\ n" में परिवर्तित कर रहा है .. – Pallavi
@ user370305 हाँ .. – Pallavi