zoukankan      html  css  js  c++  java
  • JSONString的转义和反转义

    jar包        

           <!-- 已过时 -->
         <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.8.1</version>   </dependency>
    <!-- JSON等格式的转义和反转义 --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-text</artifactId> <version>1.8</version> </dependency>

    代码

    import com.alibaba.fastjson.JSON;
    import org.apache.commons.text.StringEscapeUtils;
    import utils.FileUtil;
    
    /**
     * JSON等字符格式的转义和反转义
     */
    public class EscapeTest {
        public static void main(String[] args) {
            String str = FileUtil.readCsv("E:\IdeaProjects\javaStudy\src\test\data\capability.json");
            System.out.println("读取的文件String:
    "+str);
            str= JSON.parseObject(str).toJSONString();
            System.out.println("转换为JSONString:
    "+str);
            //转义
            str= StringEscapeUtils.escapeJson(str);
            System.out.println("转义后的JSONString:
    "+str);
            //反转义
            str=StringEscapeUtils.unescapeJson(str);
            System.out.println("反转义后的JSONString:
    "+str);
        }
    }

    打印内容

    读取的文件String:
    {
      "platformName": "Android",
      "platformVersion": "6.0.1",
      "deviceName": "127.0.0.1:7555",
      "appPackage": "com.baidu.tieba",
      "appActivity": ".tblauncher.MainTabActivity",
      "noReset": true,
      "unicodeKeyboard": true,
      "resetKeyboard": true
    }
    
    转换为JSONString:
    {"appPackage":"com.baidu.tieba","appActivity":".tblauncher.MainTabActivity","noReset":true,"platformVersion":"6.0.1","unicodeKeyboard":true,"platformName":"Android","deviceName":"127.0.0.1:7555","resetKeyboard":true}
    转义后的JSONString:
    {"appPackage":"com.baidu.tieba","appActivity":".tblauncher.MainTabActivity","noReset":true,"platformVersion":"6.0.1","unicodeKeyboard":true,"platformName":"Android","deviceName":"127.0.0.1:7555","resetKeyboard":true}
    反转义后的JSONString:
    {"appPackage":"com.baidu.tieba","appActivity":".tblauncher.MainTabActivity","noReset":true,"platformVersion":"6.0.1","unicodeKeyboard":true,"platformName":"Android","deviceName":"127.0.0.1:7555","resetKeyboard":true}
  • 相关阅读:
    23种设计模式目录总览
    Unity3d优化总结2
    Unity3d优化总结1
    Unity四元数和旋转
    浅谈Unity中的GC以及优化
    Unity自带寻路Navmesh
    High-level NavMesh Building Components
    Unity3D的四种坐标系
    安装SQLserver2008r2出现 试图执行未经授权的操作
    C#获取上传文件的扩展名
  • 原文地址:https://www.cnblogs.com/yjh1995/p/12173720.html
Copyright © 2011-2022 走看看