Yaml转换list,json,map工具类_ruxyeah的博客-程序员宅基地

技术标签: java  

package com.ikcrm.lib.common.utils;

import java.util.List;
import java.util.Map;

import org.yaml.snakeyaml.Yaml;

import com.alibaba.fastjson.JSONObject;

/**
 * 
* @ClassName: YamlUtils
* @Description: TODO(Yaml转换工具类)
* @author ruxiang
* @date 2017年6月28日 下午1:00:56
*
 */
public class YamlUtils {
   
   
   /**
    * Yaml转json
    * @param yamlString
    * @return
    */
   
   @SuppressWarnings("unchecked")
   public static JSONObject convertToJson(String yamlString) {
       Yaml yaml= new Yaml();
       Map<String, Object> map = (Map<String, Object>) yaml.load(yamlString);
       JSONObject jsonObject=new JSONObject(map);
       return jsonObject;
   }
   
   /**
    * Yaml转Map
    * @param yamlString
    * @return
    */
   
   @SuppressWarnings("unchecked")
   public static Map<String,Object> convertToMap(String yamlString) {
      if(yamlString.startsWith("---\n")){
         yamlString = yamlString.replaceAll("---\n","");
      }if(yamlString.contains("!ruby/hash")){
         yamlString = yamlString.replaceAll("(?i)!ruby/.*\n","\n");
      }
       Yaml yaml= new Yaml();
      Map<String,Object> map= (Map<String, Object>) yaml.load(yamlString);
       return map;
   }
   
   /**
    * Yaml转Object
    * @param yamlString
    * @return
    */
   public static Object convertToObject(String yamlString) {
       Yaml yaml= new Yaml();
       Object obj = yaml.load(yamlString);
       return obj;
   }
   

   /**
    * Yaml转List
    * @param yamlString
    * @return
    */

   @SuppressWarnings("unchecked")
   public static List<String> toList(String yamlString) {
      Yaml yaml= new Yaml();
      List<String> list= (List<String>) yaml.load(yamlString);
      return list;
   }

}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ruxyeah/article/details/78978034

智能推荐

Sqoop增量抽取Oracle数据,最近8个小时的数据未被抽取_orcal 8个小时之内数据-程序员宅基地

在使用sqoop增量抽取数据时,在不指定m的情况下,导出日志中可以看到添加了截止时间,但这个时间并不是系统时间,经过多次比较发现,这个时间比当前系统时间早8个小时。因此怀疑是时区问题。检查Oracle中的回话时区和数据库时区:SQL&gt; SELECTSESSIONTIMEZONE FROM DUAL;SESSIONTIMEZONE--------------------------------..._orcal 8个小时之内数据

vue 组件属性监听_vue props监听变化的几种方式-程序员宅基地

应用场景在vue中父子组件是通过props传递数据的。通常有以下几种场景:子组件展示父组件传递过来的props,一般是字符串子组件通过父组件的props计算得到某个值子组件修改父组件传递过来的propscomputed 计算属性使用场景:当pros传递过来的值不能直接使用的时候,就可以使用计算属性了。比如:完整的地址需要将省市区3个字段拼接后展示。计算属性是基于依赖进行缓存的,当props不变时,..._vue 监听props 的某个属性变化

HTTP Content-Type/multipart:form-data; boudary=.._http boudary 限制-程序员宅基地

POST/customer-mainapp-uploadimage/UploadImage.ashx HTTP/1.1Host: my.fat5.qa.nt.ctripcorp.comAccept-Encoding: gzip, deflateContent-Type: multipart/form-data;boundary=**--------------------7_http boudary 限制

fatal: unable to access ...: LibreSSL SSL_connnect: Connection reset by peer in connect to... :443_Richard Browning的博客-程序员宅基地

fatal: unable to access 'https://**': LibreSSL SSL_connect: Connection reset by peer in connection to **:443 简单解决方法

如果程序员面试都说真话…画面过于真实,哈哈哈哈哈哈_前端瓶子君的博客-程序员宅基地

来源丨程序员之家面试官:你好,这是你面试的第一家公司吗?程序员小王:当然不是啦,面了30多家,都不要我。面试官:哦哦哦,没事,我们面试了50多个,1个都不愿意来呢。你简历上写的5年Jav..._假如程序员也说真话

在 Linux 中使用 Wondershaper 限制网络带宽_wondershaper不生效-程序员宅基地

以下内容将向你介绍如何轻松对网络带宽做出限制,并在类 Unix 操作系统中对网络流量进行优化。通过限制网络带宽,可以节省应用程序不必要的带宽消耗,包括软件包管理器(pacman、yum、apt)、web 浏览器、torrent 客户端、下载管理器等,并防止单个或多个用户滥用网络带宽。在本文当中,将会介绍 Wondershaper 这一个实用的命令行程序,这是我认为限制 Linux 系统 Inter..._wondershaper不生效

随便推点

媒体层:Core Graphics(绘图)-程序员宅基地

1.简介:基于C的API,用于绘图, 当使用UIKit来创建按钮、图像或者其他UIView的子类时,UIKit会使用Core Graphics来将这些元素绘制在屏幕上可创建直线、路径、渐变、文字、图像等内容CGContextRef:图像上下文、画布从UIView的子类中获取它的当前上下文UIGraphicsGetCurrentContext(),然后重写drawRect方法

mysql表修复命令_mysql 检查修复表命令-程序员宅基地

异常,坏表?运行程序突然报异常:Incorrect key file for table './xx_db/xx_table.MYI'; try to repair it 解决办法:可以先运行 CHECK TABLE 表名 检查下是否存在错误。然后运行 REPAIR TABLE 表名 进行修复。_mysql 检查修复表命令

打包优化-在nodejs环境中布署应用_node 打包文件怎么部署-程序员宅基地

目标将打包好的代码打包上线(本地模拟)前端修改生产环境下的baseUrl前端修改生产环境的 baseUrl.env.productionVUE_APP_BASE_API = 'http://ihrm-java.itheima.net'重新打包使用 koa 框架部署项目到现在为止,我们已经完成了一个前端工程师的开发流程,按照常规的做法,此时,运维/后端会将我们的代码部署到阿里云的nginx服务上,对于我们而言,我们可以将其部署到本机的nodejs环境中建立web服务文件夹 hr._node 打包文件怎么部署

Spring5-程序员宅基地

1、Spring概述1.1 简介Spring : 春天 —>给软件行业带来了春天2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架。2004年3月24日,Spring框架以interface21框架为基础,经过重新设计,发布了1.0正式版。很难想象Rod Johnson的学历 , 他是悉尼大学的博士,然而他的专业不是计算机,而是音乐学。Spring理念 : 使现有技术更加实用 . 本身就是一个大杂烩 , 整合现有的框架技术官网 : http:_spring5

【Linux进程通信】管道,FIFO-程序员宅基地

简介进程通信最基本的一种通信机制,是进程之间一个单向数据流:一个进程写入管道的所有数据都由内核定向流入到另外一个进程。(如果多进程使用管道通信,则需要通过锁来控制)。管道的特点:基于一组VFS对象,因而没有对应的磁盘映像(匿名管道对用户不可见,但是FIFO是以终端用户认可的文件存在的)POSIX只定义半双工管道,因而简历通信管道时,每个管道的文件描述符是单向的。所以pipe系统调用需要返回两个描

python 正则表达式提取url_"import re import urllib if __name__ == \"__main__-程序员宅基地

1. python 提取URL到数组中import reif __name__ == "__main__": f = open(r"C:\Users\HuJun\PycharmProjects\pythonProject\daily_tesy\data.txt", "r", encoding="utf-8") data = f.read() reg = 'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9_"import re import urllib if __name__ == \"__main__\": url ="