前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >js将json字符串转换成json对象_java中将字符串转换为json

js将json字符串转换成json对象_java中将字符串转换为json

作者头像
全栈程序员站长
发布于 2022-11-08 09:23:20
发布于 2022-11-08 09:23:20
5K0
举报

大家好,又见面了,我是你们的朋友全栈君。

package com.cjonline.foundation.util;

import java.lang.reflect.Field;

import java.math.BigDecimal;

import java.text.SimpleDateFormat;

import java.util.Collection;

import java.util.Date;

public class JsonUtils {

/** 默认的字符串格式 */

private static String dateformat = “yyyy-MM-dd hh:mm:ss”;

/**

* 获取日期字符串格式

*

* @return

*/

public static String getDateformat() {

return dateformat;

}

/**

* 设置日期字符串格式

*

* @param dateformat

*/

public void setDateformat(String dateformat) {

JsonUtils.dateformat = dateformat;

}

/**

* 获取实体bean的属性返回类型

*

* @param typeName

* 类型名称

* @param fieldValue

* 字段值

* @return

*/

private static Object toType(Object fieldValue) {

Object result = “”;

if (fieldValue instanceof String) {

String value = (String) fieldValue;

if (value.contains(“\r\n”)) {

value = value.replaceAll(“\r\n”, “\\\\r\\\\n”);

}

result = “\”” + value + “\””;

} else if (fieldValue instanceof Number) {

result = fieldValue;

} else if (fieldValue instanceof Boolean) {

result = fieldValue;

} else if (fieldValue instanceof BigDecimal) {

result = fieldValue;

} else if (fieldValue instanceof Date) {

SimpleDateFormat sdf = new SimpleDateFormat(getDateformat());

result = “\”” + sdf.format(fieldValue) + “\””;

} else {

result = “\”” + “\””;

;

}

return result;

}

/**

* 是将单个实体bean的格式化为json字符串

*

* @param obj

* 实体bean

* @return json字符串

* @throws IllegalAccessException

* @throws IllegalArgumentException

* @throws Exception

*/

public static String Object2JSON(Object obj, Object[] showfields) {

StringBuffer sb = new StringBuffer();

sb.append(“{“);

if (obj == null) {

return sb.append(“}”).toString();

}

Field[] fds = obj.getClass().getDeclaredFields();

for (int i = 0; i < fds.length; i++) {

fds[i].setAccessible(true);

String fieldName = fds[i].getName();

Object fieldValue = null;

try {

fieldValue = fds[i].get(obj);

} catch (Exception e) {

e.printStackTrace();

}

if (showfields == null) {

sb.append(“\”” + fieldName + “\””).append(“:”);

sb.append(toType(fieldValue)).append(“,”);

} else {

for (Object showfield : showfields) {

if (showfield instanceof String) {

if (fieldName.equalsIgnoreCase((String) showfield)) {

sb.append(“\”” + fieldName + “\””).append(“:”);

sb.append(toType(fieldValue)).append(“,”);

}

}

}

}

}

String result = “”;

if (sb.toString().length() == 1) {

result = “{“;

} else {

result = sb.substring(0, sb.length() – 1);

}

return result + “}”;

}

/** * 可以对多个实体bean的集合操作,输出的是grid的格式 * * @param obj * 可以使实体bean的集合或个体 * @param showfields * 需要显示的字段 * @return * @throws Exception */ public static String ListObject2JSON(Object obj, Object[] showfields) throws Exception { StringBuffer sb = new StringBuffer(); StringBuffer rows = new StringBuffer(); sb.append(“[“); if (obj instanceof Collection) { @SuppressWarnings(“rawtypes”) Collection cc = (Collection) obj; if (cc.size() < 1) { return sb.append(“]”).toString(); } Object[] objects = cc.toArray(); for (Object object : objects) { rows.append(Object2JSON(object, showfields)).append(“,”); } rows = rows.replace(rows.length() – 1, rows.length(), “”); } sb.append(rows).append(“]”); return sb.toString(); } }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/190936.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月21日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Java转换Json教程以及常见的错误
源码及jar包下载地址: https://gitee.com/jahero/json.git Java程序转换json常用的6个jar包: commons-logging-1.0.4.jar commons-lang-2.3.jar commons-collections-3.2.jar commons-beanutils-1.7.0.jar json-lib-2.2.1-jdk15.jar ezmorph-1.0.4.jar 如果缺少以上的jar包或者版本不对会报各种各样的错误,如下: 缺少commons
浩Coding
2019/07/03
1.8K0
Java字符串工具类,对StringUtils重写,方便使用
String工具 主要对 StringUtils 的一些方法进行重写,达到更方便的使用
目的地-Destination
2023/03/06
6930
Java常用工具类之时间转换(注释乱码,全)
package com.wazn.learn.util; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; /** * ͨ���� * * @author root */ public class DateUt
二十三年蝉
2018/02/28
1.3K0
.NET常用的扩展方法整理
using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Linq; using System.Reflection; using System.Text; using System.Text.RegularExpressions; namespace IBO.XJMYQP.Utility { public static class Extens
跟着阿笨一起玩NET
2018/09/19
1.2K0
调试工具类
import java.io.*; import java.util.*; import java.text.*; import java.lang.reflect.*;
源哥
2018/08/28
1.5K0
TIII-Android技术篇之注解Annotation
开幕:初见 首先看一下家喻户晓的@Override注解:添加此注解,如果是非覆写的方法,就会报错 @Target(ElementType.METHOD) @Retention(RetentionPolicy.SOURCE) public @interface Override { } 再先看一下@Deprecated注解:添加此注解,如果是过时的方法,就会画线提示 @Documented @Retention(RetentionPolicy.RUNTIME) @Target(value={CONSTRUCT
张风捷特烈
2018/09/29
4520
TIII-Android技术篇之注解Annotation
7. JDK拍了拍你:字符串拼接一定记得用MessageFormat#format
你好,我是A哥(YourBatman)。本文所属专栏:Spring类型转换,公号后台回复专栏名即可获取全部内容。
YourBatman
2020/12/29
2.1K0
7. JDK拍了拍你:字符串拼接一定记得用MessageFormat#format
使用JAVA反射的利与弊
在Java的20周年的纪念日的日子里,让我们来重新温习下Java里面的高级知识,Java肯定希望大家了解她,要不然你跟她天天相濡以沫了这么长时间,让她知道你竟然不了解她,不在乎她,那么她该有多伤心呢,所以我们不应该做一个负心汉,更不应该做一个忘恩负义的人,她教会了你生存的技能,所以我们也应该将她发扬光大! Java的核心技能有如下几项: (1)JVM的调优 (2)类加载器 (3)反射 (4)动态编译 (5)动态代理 (6)注解 (7)多线程 (8)IO,NIO,Socket,Chan
我是攻城师
2018/05/11
9070
JAVA实现DAO基本层CRUD操作
随着shh2各种操作方便框架。越来越多JAVA WEB效率,可是,假设在不了解这些框架使用的场合的情况下,一拿到项目就盲目地选择这些框架进行系统架构的搭建,就有可能造成非常多不是必需的资源浪费。
全栈程序员站长
2022/07/05
1.1K0
Struts2 转换器
转换器 从一个 HTML 表单到一个 Action 对象,类型转换是从字符串到非字符串 Http 没有 “类型” 的概念,每一项表单的输入只可能是一个字符串或一个字符串数组,在服务器端必须把 String 转换为特定的数据类型 在 struts2 中把请求参数映射到 action 属性的工作由 Parameters 拦截器负责,它是默认拦截器的一员,而且可以自动完成字符串和基本数据类型之间的转换 由此可以知道前面的案例中在不做任何处理的情况下也不会出异常,是因为我们在服务端所要的类型均为基本类型,param
bgZyy
2018/07/05
6360
spring security未登陆时,不跳转登陆页面改为返回JSON字符串
集成spring security时,因为是前后端分离,所以不能跳转到登陆页面,而是返回未登陆的JSON串。 解决办法如下:
星痕
2018/09/12
4.6K0
实体类的Copy
class<-->class class<-->map 该工具类主要实现了实体类与实体类之间的转化以及实体类与map之间的转化 import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.Map; import java.util.Set; import java.util.TreeMap; i
码客说
2019/10/22
1.2K0
java代码的几个utils,基本可以直接用
public class MD5Util { // 字符串的MD5 public static String string2MD5(String psw) { { try { MessageDigest md5 = MessageDigest.getInstance("MD5"); md5.update(psw.getBytes("UTF-8")); by
JQ实验室
2022/02/10
5900
【15】JAVASE-常用工具类【从零开始学JAVA】
Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机,Java 仍是企业和开发人员的首选开发平台。
用户4919348
2024/05/25
1660
【15】JAVASE-常用工具类【从零开始学JAVA】
支付宝账单下载读文件解析
https://opendocs.alipay.com/apis/api_15/alipay.data.dataservice.bill.downloadurl.query
默存
2022/06/24
1.3K0
支付宝账单下载读文件解析
Map集合转换成实体类对象,实体类对象转换为map集合,互转工具类「建议收藏」
注 : 2019-06-16日 增加第六节 map与实体互转工具类,直接看第6节;
全栈程序员站长
2022/09/02
6.9K0
Mybatis分页拦截器
5.注意,参数都要封装到对象里,不能用string,int等基本类型,因为在拦截器中获取参数时用的是getter,基本类型数据没有getter和setter
IT云清
2019/01/22
2.2K0
SpringMVC—json
要实现从JSON字符串转换为JavaScript 对象,使用 JSON.parse() 方法:
Java架构师必看
2021/05/14
9320
SpringMVC—json
手把手教你完成App支付JAVA微信支付
这篇内容看标题已经很明确了,由于微信是用xml通讯的,所以这一点比较恶心,各位可能需要在项目里导入一些解析xml的包。 首先放出工具类(包含支付宝用到的工具类),因为现在csdn下载都是扣积分的,因为工具类代码会在文尾贴出。
Java编程指南
2019/08/02
2.4K0
手把手教你完成App支付JAVA微信支付
C#操作json的通用帮助类
using System; using System.Data; using System.Text; using System.Collections.Generic; using System.Reflection; using System.Data.Common; using System.Collections; using System.IO; using System.Text.RegularExpressions; using System.Runtime.Serialization.Jso
用户7108768
2021/11/02
1.3K0
相关推荐
Java转换Json教程以及常见的错误
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文