当我将TextEdit数据作为JSON发送时,数据作为";
的组合,每次都会失败。
详细地说,如果我输入的用户名不是密码";
,那么生成的JSON文件如下所示: -
{"UserName":"qa@1.com","Password":"\";"}
我搜索了很多,我能理解的是结果JSON数据消除了导致抛出Default异常的语法。我试图通过使用URLEncoder.encode()
方法摆脱特殊符号。但现在问题在于解码。
任何步骤的任何帮助都将非常感激。
logcat的:
I/SW_HttpClient(448): sending post: {"UserName":"qa@1.com","Password":"\";"}
I/SW_HttpClient(448): HTTPResponse received in [2326ms]
I/SW_HttpClient(448): stream returned: <!DOCTYPE html PUBLIC ---- AN HTML PAGE.... A DEFAULT HANDLER>
答案 0 :(得分:0)
您好,请尝试以下代码
String EMPLOYEE_SERVICE_URI = Utils.authenticate+"?UserName="+uid+"&Email="+eid+"&Password="+URLEncoder.encode(pwd,"UTF-8");
答案 1 :(得分:0)
您在问题中提供的JSON是有效的。
字符串中的JSON规范需要双引号才能使用反斜杠进行转义。请阅读此处的语法图表 - http://www.json.org/。
如果在解析JSON时出现异常,那么解析器就会出错,或者异常意味着其他东西。
我已经搜索了很多,我能理解的是结果JSON数据消除了语法
您的理解不正确。
我尝试使用URLEncoder.encode()方法删除特殊符号。
这是一个错误,只会让事情变得更糟:
但现在问题在于解码。
完全。
答案 2 :(得分:0)
以下提供的JSON可以通过GSON库解析,代码如下
private String sampledata = "{\"UserName\":\"qa@1.com\",\"Password\":\"\\\";\"}";
Gson g = new Gson();
g.fromJson(sampledata, sample.class);
public class sample {
public String UserName;
public String Password;
}
答案 3 :(得分:0)
为了解码文本我得到了解决方案..
URLDecoder.decode(String, String);