当前位置:   article > 正文

【Android】传给后端的Url地址被转码问题处理

【Android】传给后端的Url地址被转码问题处理

一、问题

为什么使用Gson().toJson的时候,字符串中的=会被转成\u003d
在 Gson 中,默认情况下会对某些特殊字符进行 HTML 转义,以确保生成的 JSON 字符串在 HTML 中是安全的。因此,字符 = 会被转义为 \u003d。你可以通过禁用 HTML 转义来避免这种情况。

二、解决方案

下面是一个示例,展示如何禁用 HTML 转义以防止特殊字符被转义:

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

public class Main {

    public static class MyObject {
        private String url;

        public MyObject(String url) {
            this.url = url;
        }

        public String getUrl() {
            return url;
        }

        public void setUrl(String url) {
            this.url = url;
        }
    }

    public static void main(String[] args) {
        Gson gson = new GsonBuilder()
                .disableHtmlEscaping()  // 禁用 HTML 转义
                .create();

        MyObject obj = new MyObject("https://example.com?param1=value1&param2=value2");
        String json = gson.toJson(obj);
        System.out.println("Serialized JSON: " + json);

        MyObject deserializedObj = gson.fromJson(json, MyObject.class);
        System.out.println("Deserialized URL: " + deserializedObj.getUrl());
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/861047
推荐阅读
相关标签
  

闽ICP备14008679号