我在我的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 \“”'是单个值。您试图将其转换为值和其他键 - 值对。我会修复从最初的数据来的任何地方 –