常用工具类---JSONUtil

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
云原生网关 MSE Higress,422元/月
可观测链路 OpenTelemetry 版,每月50GB免费额度
简介: 这段内容提供了Java中将不同数据结构转换为JSON的代码示例。包括使用`JSONArray`将一维和二维数组、对象、Map及List转换为JSON字符串,并展示了如何从JSON字符串转换回Object、List以及XML到JSON的转换。

引用

以下包在未主动声明前提下,均为下述引用

import cn.hutool.core.util.XmlUtil;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

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

一维数组转JSON

public static String arrToJson(String[] arr) {
    String jsonStr = JSONArray.fromObject(arr).toString();
    System.out.println("数组转json:" + jsonStr);
    return jsonStr;
}

二维数组转JSON

public static String twoArrToJson(String[][] arr) {
    String jsonStr = JSONArray.fromObject(arr).toString();
    System.out.println("数组转json:" + jsonStr);
    return jsonStr;
}

Object转JSON

public static String objectToJson(Object object) {
    String jsonStr = JSONArray.fromObject(object).toString();
    System.out.println("对象转json:" + jsonStr);
    return jsonStr;
}

JSON转Object

public static <T> T jsonToObject(String pojo, Class<T> clazz) {
    return com.alibaba.fastjson.JSONObject.parseObject(pojo, clazz);
}

MapJSON

public static String mapToJson(Map<String, Object> map) {
    String jsonStr = JSONObject.fromObject(map).toString();
    System.out.println("map转json:" + jsonStr);
    return jsonStr;
}

ListJSON

public static String listToJson(List<?> list) {
    String jsonStr = JSONArray.fromObject(list).toString();
    System.out.println("list转json:" + jsonStr);
    return jsonStr;
}

JSON转List

public static <T> List<T> jsonToList(String jsonString, Class<T> clazz) {
    List<T> ts = com.alibaba.fastjson.JSONArray.parseArray(jsonString, clazz);
    return ts;
}

StringJSON

public static void stringToJson(String[] args) {
    String str = "{\"result\":\"success\",\"message\":\"成功!\"}";
    JSONObject json = JSONObject.fromObject(str);
    System.out.println(json.toString());
}

XMLJSON

public static JSONObject xmlToJson(String xmlStr) {
    Map<String, Object> result = XmlUtil.xmlToMap(xmlStr);
    JSONObject jsonObject = JSONObject.fromObject(result);
    System.out.println(jsonObject);
    return jsonObject;
}


相关文章
|
4月前
|
Java
常用工具类---IOUtils
该文档是关于Java中文件操作的说明,强调所有IO操作必须在`finally`块中关闭。提供了三个示例:1) 读取指定文件`test.txt`的全部内容,使用`FileReader`和`StringBuffer`;2) 追加内容到`test.txt`文件,通过`FileOutputStream`, `OutputStreamWriter`和`BufferedWriter`实现;3) 递归遍历目录下的所有文件,使用`File`类和递归函数获取每个文件的绝对路径。
|
4月前
|
存储 Java
常用工具类---StringUtil
这篇文档讨论了Java中处理超长字符串的问题。由于字符串字面量限制为65534个字符,超过此长度会导致编译错误。当从HTTP或RPC接收长字符串时,不能直接用字符串字面量接收。解决方案是使用StringBuilder动态构建字符串,通过分组处理超过限制的字符序列。示例代码展示了如何分割并重新组合超过长度限制的字符串。
|
6月前
|
存储 Java API
Java基础篇----包机制与JavaDoc
Java基础篇----包机制与JavaDoc
68 3
|
6月前
|
SQL JSON Java
Java【问题记录 02】对象封装+固定排序+list All elements are null引起的异常处理+Missing artifact com.sun:tools:jar:1.8.0
Java【问题记录 02】对象封装+固定排序+list All elements are null引起的异常处理+Missing artifact com.sun:tools:jar:1.8.0
73 0
|
存储 网络协议 Java
java基础 --- java包(package)
java基础 --- java包(package)
113 0
|
算法 Java
Java常用类(4)--System类
Java常用类(4)--System类
82 0
Java常用类(4)--System类
|
Java C++
二十七、JavaSE----File类、IO类
二十七、JavaSE----File类、IO类
二十七、JavaSE----File类、IO类
|
Java Spring
二十六、JavaSE----反射
二十六、JavaSE----反射
二十六、JavaSE----反射
|
SQL 安全 算法
二十九、JavaSE----关于null的处理方式
二十九、JavaSE----关于null的处理方式
二十九、JavaSE----关于null的处理方式
|
存储 Java 编译器
二十八、JavaSE----注解
二十八、JavaSE----注解
二十八、JavaSE----注解