java - URL 编码对我的字符串进行两次编码

标签 java android urlencode url-encoding

我有一个 Json 字符串要编码

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();
}

最佳答案

Try the code you take in strings file

如果您从服务器得到的响应没有在 string.xml 中使用,您可以直接使用

在 string.xml 中

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

Code

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();
}

Output Single time

%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

关于java - URL 编码对我的字符串进行两次编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38388860/

相关文章:

solr - 如何对星号进行 urlencode

java - java 堆空间内存不足

java - 如何使用 JAX-RS 与 Resteasy、Angular 和 Wildfly10 处理 CORS

java - 添加新节点时使用堆栈来存储trap节点。为什么我会收到 EmptyStackException?

android - Activity 覆盖 getResources() 后,如何对下一个运行的 Activity 生效?

java - (onItemClick) 显示 ListView 中的 Json 数据 - Android

android - 如何通过单击按钮填充 EditText?

python - urllib.urlencode 不喜欢 unicode 值 : how about this workaround?

Java swing - 通过 alpha setBackground 在组件中淡入淡出,正确同步

javascript - 如何从编码字符串中获取json格式