为了补上一篇挖的坑,所以简单的改进了一下bean2Json的方法
上一篇在这里QAQ
废话不多说,代码很简单,下面直接上代码
package com.tfxing.indexmon.utils.handle;import com.verObjTest.Person;
import com.verObjTest.SecurityDeposit;
import org.junit.platformmons.util.StringUtils;import flect.Field;
import java.math.BigDecimal;
import java.util.Objects;
import java.util.StringJoiner;public class MyJsonUtilPlus {/*** 对象转json字符串* @param t* @param <T>* @return*/public static <T> String toJson(T t) throws Exception{StringJoiner jsonStr = new StringJoiner(",");Class<?> clazz = t.getClass();Field[] fields = DeclaredFields();for (int i = 0; i < fields.length; i++) {Field field = fields[i];field.setAccessible(true);String tempStr = """Name()+"":";Object obj = (t);if (Objects.isNull(obj)) {tempStr += """";jsonStr.add(tempStr);continue;}if(isNormal(obj)) {tempStr += """String()+""";jsonStr.add(tempStr);} else {String fieldJson = toJson(obj);tempStr += fieldJson;jsonStr.add(tempStr);}}return StringUtils.String()) ? "{"String()+"}" : """";}private static boolean isNormal(Object obj) {Class().getName().startsWith("java")) {return true;} else {return false;}}
public static void main(String[] args) throws Exception{Person person = new Person("tfxing","男",18);person.setAmount(BigDecimal.valueOf(100));Person personInner = new Person("tfxingInner","女",19);person.setPersonInner(personInner);person.setDeposit(new SecurityDeposit("test"));System.out.println(toJson(person));System.out.println(toJson(new Integer(10)));}}
本文发布于:2024-01-31 17:21:04,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170669286430151.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |