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");

  • 相关阅读:
    idea 快捷键
    vue.js
    破解idea
    如何进行反向迭代以及如何实现反向迭代?
    如何使用生成器函数实现可迭代对象?
    从一个实际小例子来看python中迭代器的应用
    MySql中常用的内置函数
    linux服务器重启oracle服务。
    oracle里面清除服务器上所有的oracle服务。
    刷机后的环境变量
  • 原文地址:https://www.cnblogs.com/awkflf11/p/6075538.html
Copyright © 2011-2022 走看看