URL编码对我的String进行两次编码

时间:2016-07-15 06:02:09

标签: java android urlencode url-encoding

我有一个Json String来编码

String strMappingList = [{"Id": "67","AccessType": "2"},{"Id": "1111","AccessType": "2"},{"Id": "1166","AccessType": "2"}]

当我进行url编码时,它会对strMappingList进行两次编码

try {
    String str = URLEncoder.encode(strMappingList, "utf-8");
} catch (UnsupportedEncodingException e) {
    e.printStackTrace();
}

1 个答案:

答案 0 :(得分:1)

  

尝试使用字符串文件中的代码

如果您收到来自服务器的响应,而不是在string.xml中使用,则直接使用

在string.xml中

  <string name="urls">[{"Id": "67","AccessType": "2"},{"Id": "1111","AccessType": "2"},{"Id": "1166","AccessType": "2"}]</string>
  

<强>代码

String strMappingList = getResources().getString(R.string.urls);

try {
    String str = URLEncoder.encode(strMappingList, "UTF-8");
    System.out.println("Strings"+str);
} catch (UnsupportedEncodingException e) {
    e.printStackTrace();
}
  

输出单次

     

%5B%7BId%3A + 67%2CAccessType%3A + 2%7D%2C%7BId%3A + 1111%2CAccessType%3A + 2%7D%2C%7BId%3A + 1166%2CAccessType%3A + 2% 7D%5D