json转换大全 复制直接用

JSON转换为excel工具 在线JSON转Excel工具 - UU在线工具https://wejson.cn/json2excel/ 该工具支持文件上传和复制粘贴,2种数据导入方式。 文件上传方式,轻松支持数百M的JSON文件转换。 复制粘贴JSON字符串方式,对于少量JSON数据特别方便。 数十万数据JSON也不在话下: 转换完成一键导出: 简单轻松完成JSON转Excel。 ... 阅读详情

pom 包导入:

<!-- json解析 -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>${fastjson.version}</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${jackson-databind.version}</version>
    </dependency>

package com.sitech.pos.smartcitypayposcenter.util;

import com.alibaba.fastjson.serializer.SerializeConfig;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.serializer.SimpleDateFormatSerializer;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.*;
import com.fasterxml.jackson.databind.node.ObjectNode;
import lombok.extern.slf4j.Slf4j;

import java.io.IOException;
import java.util.*;

/**

  • @author GZY json工具类
    */
    @Slf4j
    public class JsonUtils {

    private static SerializeConfig serialConfig = new SerializeConfig();

    private static SerializerFeature[] serialFeatures = null;

    private static final String DATE_FORMART = “yyyy-MM-dd HH:mm:ss”;

    static {

     //允许输出空属性
     serialFeatures = new SerializerFeature[]{SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullListAsEmpty};
    
     //java.util.Date的转换
     serialConfig.put(Date.class, new SimpleDateFormatSerializer(DATE_FORMART));
    

    }

    /**

    • 普通json转map
    • 例子 {“phone_no”:“15074917062”,“order_date”:“20150316145250”,“imei”
    •  *                :"sasassdsadsadfdssf","external_order_id":"jd222233331",
      
    •  *                "op_type":"01","login_no":"jdop001","chn_code":"11221"}
      
    • @param
    • @return
      */
      public static Map<String, String> json2Map(String param) {
      Map<String, String> parameterMap = new LinkedHashMap<String, String>();
      if (param != null && !param.equals(“null”)) {
      if (param.length() > 2) {
      ObjectMapper objectMapper = new ObjectMapper();
      objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
      try {
      parameterMap = objectMapper.readValue(param,
      new TypeReference<LinkedHashMap<String, String>>() {
      });
      } catch (Exception e) {
      log.error(“json解析异常” + param, e);
      }
      }
      }
      return parameterMap;
      }

    /**

    • 把JavaBean转换为json字符串

    • @param obj 要转的javabean

    • @return json串
      */
      public static String bean2json(Object obj) {

      if (obj == null){
      return “”;
      }
      ObjectMapper m = new ObjectMapper();
      m.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
      // 由于下面这行代码会导致bean中设置的json注解失效,所以注释掉
      // m.setAnnotationIntrospector(new JaxbAnnotationIntrospector(TypeFactory.defaultInstance()));
      try {
      //return m.writeValueAsString(obj).replaceAll(“”“null”“|“null”|null”, “”“”);
      return m.writeValueAsString(obj);
      } catch (JsonProcessingException e) {
      // TODO Auto-generated catch block
      log.error(“json解JsonProcessingException异常”, e);
      }
      return “”;
      }

    /**

    • bean转普通json串
    • @param json 要转的josn
    • @return obj
      */
      public static Object readJson(String json, Class<?> clz) {
      return com.alibaba.fastjson.JSON.parseObject(json, clz);
      }

    /**

    • 使用泛型方法,把json字符串转换为相应的JavaBean对象。

    • (1)转换为普通JavaBean:readValue(json,Student.class)

    • (2)转换为List,如List,将第二个参数传递为Student

    • [].class.然后使用Arrays.asList();方法把得到的数组转换为特定类型的List

    • @param jsonStr

    • @param collectionClass

    • @return
      */
      @SuppressWarnings(“unchecked”)
      public static T readJson(String jsonStr, Class collectionClass,
      Class… elementClasses) {
      ObjectMapper mapper = new ObjectMapper();
      mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

      JavaType javaType = mapper.getTypeFactory().constructParametricType(
      collectionClass, elementClasses);

      try {
      return (T) mapper.readValue(jsonStr, javaType);
      } catch (JsonParseException e) {
      // TODO Auto-generated catch block
      log.error(“json解析JsonParseException异常”, e);
      } catch (JsonMappingException e) {
      // TODO Auto-generated catch block
      log.error(“json解析JsonMappingException异常”, e);
      } catch (IOException e) {
      // TODO Auto-generated catch block
      log.error(“json解析IOException异常”, e);
      }
      return null;

    }

    /**

    • json数组转List

    • @param jsonStr

    • @param valueTypeRef

    • @return
      */
      @SuppressWarnings(“unchecked”)
      public static T readValue(String jsonStr, TypeReference valueTypeRef) {
      ObjectMapper objectMapper = new ObjectMapper();
      objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

      try {
      return (T) objectMapper.readValue(jsonStr, valueTypeRef);
      } catch (Exception e) {
      log.error(“json解析Exception异常”, e);
      }

      return null;
      }

    /**

    • javabean转json串
    • @param obj 要转的javabean
    • @return json串
      */
      public static String simpleObjectToJsonStr(Object obj) {
      return toJsonStrByFastjson(obj);
      }

    /**

    • 将对象转化为Json String
    • @param obj
    • @return String
      */
      public static String toJson(Object obj) {
      return toJsonStrByFastjson(obj);
      }

    private static String toJsonStrByFastjson(Object obj) {
    try {
    return com.alibaba.fastjson.JSON.toJSONString(obj, serialConfig, serialFeatures);
    } catch (Exception e) {
    log.error(“转换JSON失败”, e);
    return “”;
    }
    }

    /**

    • javabean转json串
    • @param list <List<?>> 要转的javabean集合
    • @return json串
      */
      public static String simpleListToJsonStr(List<?> list) {
      if (list == null || list.size() == 0) {
      return “[]”;
      }
      return toJsonStrByFastjson(list);
      }

    public static String getNodeFromJson(String name, String json) {
    ObjectMapper objectMapper = new ObjectMapper();
    try {
    JsonNode node = objectMapper.readTree(json);
    JsonNode v = node.findValues(name).get(0);
    if (null != v) {
    if (v.isValueNode()) {
    return v.asText();
    } else {
    return v.toString();
    }
    }
    } catch (Exception e) {
    e.printStackTrace();
    }
    return “”;
    }

    /**

    • 向json的根目录下获取第一级的name对应的值
    • @param name
    • @param json
    • @return
      */
      public static String getNodeFromJsonRoot(String name, String json) {
      ObjectMapper objectMapper = new ObjectMapper();
      try {
      JsonNode node = objectMapper.readTree(json);
      JsonNode v = node.findValues(name).get(0);
      if (null != v) {
      if (v.isValueNode()) {
      return v.asText();
      } else {
      return v.toString();
      }
      }
      } catch (Exception e) {
      e.printStackTrace();
      }
      return “”;
      }

    /**

    • 向json的根目录下第一级的name设置对应的值value
    • @param name
    • @param value
    • @param json
    • @return
      */
      public static String setNodeValueToJsonRoot(String name, String value, String json) {
      ObjectMapper objectMapper = new ObjectMapper();
      try {
      JsonNode node = objectMapper.readTree(json);
      if (node instanceof ObjectNode) {
      ((ObjectNode) node).put(name, value);
      }
      return node.toString();
      } catch (Exception e) {
      e.printStackTrace();
      }
      return “”;
      }

    /**

    • 转换复杂类型json map 嵌套,list 不支持 jingcy

    • @param jsonString

    • @return
      */
      public static HashMap<String, Object> fromJson2Map(String jsonString) {
      HashMap jsonMap = com.alibaba.fastjson.JSON.parseObject(jsonString, HashMap.class);

      HashMap<String, Object> resultMap = new HashMap<String, Object>();
      for (Iterator iter = jsonMap.keySet().iterator(); iter.hasNext(); ) {
      String key = (String) iter.next();
      if (jsonMap.get(key) instanceof com.alibaba.fastjson.JSONObject) {
      resultMap.put(key, fromJson2Map(jsonMap.get(key).toString()));

       } else {
           Object o = jsonMap.get(key);
           resultMap.put(key, jsonMap.get(key));
       }
      

      }
      return resultMap;
      }

    /**

    • 转换复杂类型json map 嵌套,list 不支持 jingcy
    • @param map
    • @return
      */
      public static String fromMap2Json(Map map) {
      return com.alibaba.fastjson.JSON.toJSONString(map);
      }

    public static Object json2Object(String json, Class calssz) {
    return com.alibaba.fastjson.JSON.parseObject(json, calssz);
    }

    /**

    • 将 Map 转换为 JSON

    • @param map

    • @return
      */
      public static String mapToJson(Map map) {

      ObjectMapper objectMapper = new ObjectMapper();
      try {
      return objectMapper.writeValueAsString(map);
      } catch (Exception e) {
      e.printStackTrace();
      }
      return “”;
      }

    public static Map<String, Object> pojo2map(Object obj){
    ObjectMapper objectMapper = new ObjectMapper();
    Map<String, Object> map = objectMapper.convertValue(obj, Map.class);
    return map;
    }

}

【译】使用json2md将JSON转换为Markdown 我喜欢在我的项目中同时使用JSON和Markdown。每个npm包都需要一个package.json文件,该文件先让是用JSON格式编写的。另外,好的项目需要配套好的文档。我喜欢使用Markdown写文档。 但我真的不写Markdown文件,我写的是文档,但他们存储在代码中(JSDoc注释)。我使用Blah自动生成Markdown文档的,然而有时候这些文档模版不够。 这就是我创建json2md的... 阅读详情

相关推荐

如何在Excel内,完成excel到json的转换,excel另存为json,excel-to-json插件

Excel 转 JSON 是一款 Microsoft Excel 加载项,可将 Excel 数据转换为 JSON 格式。它可以在Excel内部,完成从数据表excel datasheet向JSON的转换。

WTSolutions的博客 2879

SpringBoot配置默认Json解析工具以及空值处理方式

SerializeConfig config = new SerializeConfig(); // 设置序列化为下划线 config.propertyNamingStrategy = PropertyNamingStrategy.SnakeCase; String content = JSON.toJSONString(contentMap, config, SerializerFeature....

Jacian 1770

使用JavaScript将Excel转换为JSON

JSON是码农们常用的数据格式,轻且方便,而直接手敲JSON却是比较麻烦和令人心情崩溃的(因为重复的东西很多),所以很多码农可能会和我一样,选择用Excel去输入数据,然后再想办法转换成JSON格式。今天教大家使用JS 将 Excel 转为 JSON的方法。 1.新建HTML文件 <html lang="en"> <title> Convert Excel File...

weixin_33806509的博客 2692

FastJSON实现详解

本篇接下来的内容是基于FastJSON 1.1.40,着重讲述其序列化、反序列化实现,最后分析FastJSON为何如此“fast”的原因。 1. 序列化 所谓序列化,就是将java各种对象转化为json串。不多说,先上图。    序列化入口 平常我们经常用到的是JSON.toJSONString()这个静态方法来实现序列化。其实JSON是一个抽象类,该类实

poijm 2759

光伏电站发电功率预测实战:从基础物理模型到LSTM时间序列分析

本文系统介绍了光伏电站发电功率预测的实战方法,从基础的物理晴空模型到先进的LSTM时间序列分析。通过结合电工杯等竞赛中常用的代码与模型,详细阐述了如何利用历史数据和数值天气预报构建高精度预测体系,并针对阴雨天气等预测瓶颈提出了分场景建模与模型融合等优化策略,为电站运维和电网调度提供可靠的数据支持。

pp12345的博客 215

ZYNQ平台上基于PHY芯片的IEEE1588/PTP高效实现方案

本文详细解析了在Xilinx ZYNQ平台上,如何通过选用支持IEEE1588/PTP的专用PHY芯片(如RTL8211FS-VS-CG、DP83640)来实现高精度时间同步的高效方案。文章对比了PS端与PL端MAC连接的优劣,提供了从硬件选型、接口设计、Linux驱动适配到PTP协议栈配置与性能优化的完整实战指南,并总结了关键避坑经验,为工业网络、电力系统等需要纳秒级同步的应用提供了清晰、可靠的实施路径。

kkk56的博客 1091

序列化方式二——JSON之Fastjson

允许用户自定义序列化器,用于控制特定类型的序列化过程。用户需要实现接口,并重写write方法。@Data// 构造方法、getter和setter省略@Override// 自定义序列化逻辑// 输出自定义序列化后的结果专门用于处理将 JSON 数据反序列化为 Java 对象的过程。不过,需要注意的是,对于大多数开发者而言,直接使用进行自定义反序列化可能不是最常见的做法,因为 Fastjson 提供了更高级别的抽象(如@JSONField注解、Feature。

zhouhengzhe的博客 3565

告别混乱接线!用EPLAN 3D布局图,手把手教你搞定电气柜的3D建模与自动布线

本文详细介绍了如何使用EPLAN 3D布局图进行电气柜的3D建模与自动布线,帮助工程师告别混乱接线。从项目准备、基础结构建模到智能设备布局与逻辑定义,再到高级布线技术与问题排查,提供了一套完整的实战指南。通过EPLAN的3D功能,显著提升设计效率与系统可靠性。

weixin_30680385的博客 339

FastJSON源码分析-SerializeConfig类的分析

2021SC@SDUSC 本篇简介 public static String toJSONString(Object object, SerializeConfig config, SerializerFeature... features) { return toJSONString(object, config, (SerializeFilter) null, features); } 我们在前面的文章分析toJSONString的过程中看到除了要转换为JSON字符串的对象外,

qq_45946035的博客 5132

深入解析Android14应用安装权限:从声明到授予的完整适配指南

本文深入解析Android14应用安装权限的适配方法,重点介绍了从权限声明到授予的完整流程。与Android13相比,Android14在权限管理机制上进行了重要调整,特别是通过AppOpsManager实现权限的对象化封装。文章详细讲解了权限声明的基础配置、Framework层适配方案、运行时权限授予方法以及常见问题排查指南,帮助开发者高效完成Android14权限适配。

o9p0q1的博客 693

保姆级教程:用Anaconda+PyCharm搞定YOLOv8本地部署(附避坑指南)

本文提供了一份详细的YOLOv8本地部署指南,涵盖Anaconda环境配置、PyCharm集成到模型部署的全过程。特别针对国内开发者需求,整合了镜像加速和常见报错解决方案,帮助快速完成目标检测模型的本地部署与实战应用。

weixin_42528090的博客 432

fastJSON源码分析_3_浅析对象序列化器的实现

2021SC@SDUSC 本篇简介 在上一篇文章中我们知道了fastJSON是如何通过JSONSerializeConfig这个类来选择我们所需要序列化的对象的序列化器.而本篇文章的内容就是对ObjectSerializer接口具体实现了的类进行分析,了解在序列化的过程中,它是如何将我们的对象转化为JSON的. ...

A1ex的博客 408

手把手教你用RSoft BPM仿真一个1x2光分束器:从参数设置到结果分析全记录

本文详细介绍了使用RSoft BPM模块设计和仿真1×2光分束器的完整流程,包括参数设置、结构建模、仿真配置和结果分析。通过实战指南,帮助读者掌握光波导器件的仿真技术,实现50:50功率分配的设计目标,适用于光通信和集成光学领域的研究与应用。

weixin_30545945的博客 544

将数组转换为JSON数据

如何将数组转换为JSON数据?下面本篇就来给大家介绍一下将数组转换为JSON对象的方法,希望对大家有所帮助。 方法一:使用Object.assign() Object.assign()方法将枚举的所有属性的值从源对象(一个或多个)复制到目标对象 语法: Object.assign(target, ...sources) 参数: ● target:它指定目标对象。 ● sources:它指定源对象。 例:将JS数组转换为JSON对象 <!DOCTYPE html> .

qq_43067585的博客 1万+

某城商银行生产容器云平台详细设计方案分享及经验总结

AS3模式的CIS容器部署在K8S集群内,作为F5的控制器,CIS容器通过对K8S集群内Configmap资源进行监控,将Configmap资源中的内容转化为F5的配置,将配置推送给 F5 ,CIS容器还通过K8S标准的API接口完成业务发现和实时监听集群内Pod的变化,一旦Pod发生变化,相应的更新会及时推送给F5,并完成更新。容器技术发展非常迅速,现在应用大多以容器作为承载介质,前两年在容器云上承载的应用类型主要是Web类,随着容器云领域的不断发展,越来越多的应用类型将迁移至容器云,包括有状态应用。

qq_61890005的博客 854

19、英国模式:银行体系的演变与现代金融架构

本文深入探讨了英国银行体系从专业化向全能银行的演变过程,分析了自律监管模式的优劣,并解析了围栏制度对金融稳定的影响。同时,文章还介绍了信用合作社、建筑协会和投资银行的角色与转型,全面展示了英国金融体系的多样性与复杂性,以及其在全球金融市场中的重要作用。

embedding5hiker的博客 104

如何将数组转换为JSON数据?

如何将数组转换为JSON数据?下面本篇就来给大家介绍一下将数组转换为JSON对象的方法,希望对大家有所帮助。 方法一:使用Object.assign() Object.assign()方法将枚举的所有属性的值从源对象(一个或多个)复制到目标对象 语法: Object.assign(target, ...sources) 参数: ● target:它指定目标对象。 ● so...

weixin_45587319的博客 1万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Java的JSON转换

登录后复制 com.alibaba.fastjson.com1.JSONObject1、json格式的字符串转JSON对象带转义和引号的字符串转换:登录后复制 String jsonStr="{\"name\":\"zhangsan\",\"age\":\"123\"}"; JSONObject jsonObject=...

cnzzs的博客 2139

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

vue-json-viewer实现JSON效果【高亮、可折叠、可复制】

初学前端,用的架子是 vue+element ,目前有个需求,想将string类型的json字符串,以json格式展示。 利用vue-json-viewer插件,利用这个插件,可方便快速实现 高亮,JSON折叠,copy 三种功能 !!! 官网地址:https://www.npmjs.com/package/vue-json-viewer 效果展示 先放最终效果: ...

少年单排,记录点滴 3万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

java的json如何将一个对象复制一份 而不是只改变引用地址

项目方案:Java对象的深复制方案 引言 在Java中,我们经常会遇到需要复制一个对象的情况。然而,简单地使用赋值语句来复制对象只会改变引用地址,而不会生成一个新的对象。因此,我们需要找到一种方法来实现对象的深复制,即复制对象的所有属性和内容,而不仅仅是复制引用地址。本文将介绍如何使用JSON来实现Java对象的深复制,并...

weixin_34496367的博客 314

Map与JSON互相转换、List与JSON互相转换、对象与JSON互相转换

JSON的用处 在最近的开发中频繁的用到json,因为要做审核,需要审核的内容进行存储,这就用到了将信息转json存入数据库中。 我的需求中要保存的信息 单个对象 单个集合List, Map<T,T> 组合集合 任意两个集合的组合,集合中还有自己的泛型对象。 今天就遇到一个坑,将json反转成集合类型,中间遇到了类型不支持问题。我折腾了好久,但是我并不打算把这个问题整理出来。 我觉得转JSON是一个编程用得多得东西,只要我们有一套规范得使用方式,那这个知识就差不多掌握了。 应用场景 导依赖

路漫漫兮 1167

JAVA 对象转换为JSON

cfg.setExcludes(new String[] {“待过滤属性1”, “待过滤属性2”, ..., “待过滤属性n”});使用jsonConfig对象的setExcludes()方法,传入参数为待过滤属性组成的数组。//过滤List集合中的Customer对象的id属性不生成JSON。//过滤Customer对象的id属性不生成JSON。//包含多个对象的List集合转换为JSON格式。1、Java对象列表转换为JSON对象数组,并转为字符串。3、过滤不需要转换为JSON格式的属性。

u200814342A的博客 2万+

Java:DTO JSON VO List之间转换

使用场景 Java常常需要处理dto=>vo,json=>vo转换。 处理思路 1. DTO转VO BeanUtils.copyProperties(applyDto, apply); 2. JSON转VO JSONObject jsonObject = JSONObject.fromObject(jsonStr); Apply apply = (Apply) JSONObject....

拾荒追逐者的博客 5337

如何将JSON对象转换为Typescript类

I read a JSON object from a remote REST server. 我从远程REST服务器读取了JSON对象。 This JSON object has all the

w36680130的博客 5478

json类型转换

前言 在日常开发中,我们经常会用到json转对象,或者对象转json的情况,一般用到的就是阿里的Fastjson和谷歌的Gson。 本篇要说的是Gson中如何将json数据转换为我们想要的数据类型。 1.json直接转对象 我们一般的操作姿势: 直接复制后台下发的json,然后在Android Studio使用Gson插件快捷生成实体类: 但是呢,有时候 这块是一个模版jso...

文韬武略的专栏 9853

html怎样转换成json数据,如何将数组转换为JSON数据?

如何将数组转换为JSON数据?下面本篇就来给大家介绍一下将数组转换为JSON对象的方法,希望对大家有所帮助。方法一:使用Object.assign()Object.assign()方法将枚举的所有属性的值从源对象(一个或多个)复制到目标对象语法:Object.assign(target, ...sources)参数:● target:它指定目标对象。● sources:它指定源对象。例:将JS数组...

weixin_35530964的博客 1370
上一篇: es导入数据和检索数据 过滤(通过产品名称,品牌名称) 高亮 -- 排序等
下一篇: 时间处理函数工具冯封装 上手即用
gudfdd
博客等级 码龄8年 1粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值