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

  • 相关阅读:
    PHP实现邮件的自动发送
    为PostgreSQL的表自动添加分区
    django
    django的logging模块
    job
    python 类的方法带的self理解
    java
    choice_set的理解
    django
    proxy_next_upstream带来的坑和加载sticky模块
  • 原文地址:https://www.cnblogs.com/awkflf11/p/6075538.html
Copyright © 2011-2022 走看看