我在我的JSONObject \如下圖所示:添加在JSONObject的字符串
{"coord":[{"lat":"[\"0\"","lng":"\"0\""}],...
我試圖擺脫\ S,如下圖所示:
{"coord":[{"lat":"0","lng":"0"}],...
在試圖擺脫我添加了.replaceAll(「\\\\」,「」),這是我在其他SO問題上看到的對這個問題的答案,但.replaceAll(「\\\\」,「」);不管用。有什麼建議麼?
GPS gps = new GPS(getApplicationContext());
double latitude = gps.getLatitude();
double longitude = gps.getLongitude();
JSONArray coord = new JSONArray();
String lattostring = String.valueOf(latitude);
Log.v("lattostring", lattostring);
String lontostring = String.valueOf(longitude);
Log.v("lontostring", lontostring);
JSONObject latObject = new JSONObject();
String jsonFormattedlat = lattostring.replaceAll("\\\\", "");
String jsonFormattedlon = lontostring.replaceAll("\\\\", "");
Log.v("jsonFormattedlat", jsonFormattedlat);
Log.v("jsonFormattedlom", jsonFormattedlon);
coord.put(jsonFormattedlat);
Log.v("coord1", String.valueOf(coord.put(jsonFormattedlat)));
coord.put(jsonFormattedlon);
coord.put(lontostring);
Log.v("coord2", String.valueOf(coord.put(jsonFormattedlon)));
coord.toString().replace("\\\"", "");
conn.addValuePair("coord", coord.toString().replace("\\\"", ""));
Log.v("coord", coord.toString().replace("\\\"", ""));
也許你需要使用JSONTokener http://developer.android.com/reference/org /json/JSONTokener.html - 根據文檔「將JSON(RFC 4627)編碼的字符串解析爲相應的對象。」它使用的例子顯示了類似的\ backslashes給你。讓我知道這個是否奏效。 – njachowski
這裏真正的問題是「\\」是如何進入的。這是應該修復的地方,而不是錯誤發生後的解決方法。 – Henry
你不能簡單地替換它們......'「[\」0 \「」,「lng」:「\」0 \「」'是單個值。您試圖將其轉換爲值和其他鍵 - 值對。我會修復從最初的數據來的任何地方 –