zoukankan      html  css  js  c++  java
  • Gson--Gson解析=等号出现乱码?

     

    GSON使用笔记(1) -- 序列化时排除字段的几种方式

     

     

     

    --3,关于Gson解析时候特殊符号,被转义的问题,如’单引号?


    //Creating the JSON object, and getting as String:
    JsonObject json = new JsonObject();
    JsonObject inner = new JsonObject();
    inner.addProperty("value", "xpath('hello')");
    json.add("root", inner);
    System.out.println(json.toString());

    //Trying to pretify JSON String:
    Gson gson = new GsonBuilder().setPrettyPrinting().create();
    JsonParser parser = new JsonParser();
    JsonElement je = parser.parse(json.toString());
    System.out.println(gson.toJson(je));
    输出

    {"root":{"value":"xpath('hello')"}}

    {
    "root": {
    "value": "xpath(u0027hellou0027)"
    }
    }

    解决办法:
    Gson gs = new GsonBuilder()
    .setPrettyPrinting()
    .disableHtmlEscaping()
    .create();

     

    ---2, Gson将一些字符自动转换为Unicode转义字符,怎么办?

    最近用富文本编辑器,编辑微信素材的时候,发现微信群发的消息内容中有许多Unicode编码字符。
    后来发现是Gson使用不当的问题。
    Gson gson = new Gson();
    String articleListStr = gson.toJson(articleList); //将素材上传到微信服务器,系统群发的消息,其实是微信服务器上的素材。
    String resposeString = HttpUtils.post(createNewsUrl,articleListStr);

    原来,Gson会把html标签,转换为Unicode转义字符。导致微信群发内容异常。

    正确的使用方法是:
    Gson gson = new GsonBuilder().disableHtmlEscaping().create();

     

    --1, GSON解析=等号出现乱码?

    最近项目中使用gson来将对象转换为json字符串的时候,竟然出现了乱码的问题!

    使用如下代码:
    new Gson().toJson(http://www.baidu.com/id=1);

    结果却是:“http://www.baidu.com/idu003d1 ”

    后来看了一下GsonBuilder才找到解决问题的方法
    GsonBuilder gb =new GsonBuilder();
    gb.disableHtmlEscaping();
    gb.create().toJson("http://www.baidu.com/id=1");

  • 相关阅读:
    vue 5 父子组件及组件间数据传递 学习代码片段
    微信小程序设置数组对象的值
    微信小程序样式拼接 类名三元运算 以及条件拼接
    超简易 消息通知滚动 pc移动适用
    js 批量监听-序号的闭包问题
    docker基础
    mysql
    mongodb
    django-restframework_认证
    SSM 整合
  • 原文地址:https://www.cnblogs.com/awkflf11/p/6075538.html
Copyright © 2011-2022 走看看