首页 > 编程知识 正文

怎么把list转成json,java遍历json的key和value

时间:2023-05-04 18:44:39 阅读:47959 作者:998

通常,转换为json格式时key是小写的,但在分析json格式时可能会以不同的方式对大小写敏感,导致分析失败。 其中,在转换为json格式时将key转换为大写注:主要运用到的一个json工具包是net.sf.json,主要包是net.sf.json.JsonConfig,没有的可以先引入依赖

ependencygroupidnet.SF.JSON-lib/groupidartifactidjson-lib/artifactidversion 2.3/versionclassifierjdk 15/clasififaction

我必须在这里添加jdk版本,但是我写jdk8的时候没有成功部署,也没有net.sf.json.JsonConfig的软件包。 填写jdk15就可以了。 我不知道这个方法是否只是后来的版本,这里没有研究。 知道的人请在评论中告诉我。

1、准备好后,开始为测试创建实体类

package com.test.entity; import com.annotation.Explain; import io.swagger.annotations.apimodelproperty; import javax.persistence.Id; import javax.persistence.Table; 导入javax.persistence.transient; import java.util.Date; 公共类测试bean {私有Intid; //菜单名称private String name_ss; //菜单URL专用字符串URL; //顺序保密插入排序; 私密日期结束日期; 公共int getid () { return id; }公共语音设置(intid ) { this.id=id; } public String getName_ss () { return name_ss; } public void set name _ ss (string name _ ss ) { this.name_ss=name_ss; } public String getUrl () { return url; } publicvoidseturl (字符串URL ) { this.url=url; } public int getSort () { return sort; }publicvoidsetsort(intsort ) { this.sort=sort; }公共数据获取结束日期() { return endDate; } publicvoidsetenddate (date end date ) { this.endDate=endDate; ) 2、本体方法(代码中有注释,这里不做说明() ) )。

/* * * list转换为JSON格式,JSON格式的key大写* @param eList list对象* @param target list通用属性. class * @param aClass Classlist通用属性* @ reret 返回aclass(//JSON格式密钥jsonconfigjsonconfig=newjsonconfig ); //属性过滤器JSON config.registerpropertyexclusions (target,new String[]{'id'}; propertynameprocessorpropertynameprocessor=newpropertynameprocessor ((@ overridepublicstringprocesspropertyname ) ) classor return s.toUpperCase (; }; Jon config.registerjsonpropertynameprocessor (target,propertynameprocessor ); Jon config.registerjsonpropertynameprocessor (aclass,propertynameprocessor ); jsonarrayjsonarray=JSON array.from object (elist,jsonConfig ); string result=JSON array.tostring (; 返回结果; //listjsonpublicstaticstringsetjsonstr (列表? 列表(jsonarrayjsonarray=JSON array.from object )列表; string result=JSON array.tostring (; 返回结果;

publicstaticvoidmain (字符串[ ] args ) listtestbeanbeanlist=newarraylisttestbean ); for(intI=0; i 3; I ) ({ TestBean bean=new TestBean ); bean.setName_ss ('认真的蜻蜓' I ); bean.setsort(I; beanlist.add(bean ); } ClassTestBean aClass=null; //listjson格式,实现JSON格式的key大写stringstr=setjsonkeyup (bean list,TestBean.class,aClass ); system.out.println(JSON格式的key大写: ) str ); listtestbeantsetlist=new ArrayList (; TestBean bean=new TestBean (; bean.setname_ss(str; tetlist.add(bean ); //list转jsonstringstrjson=setjsonstr (tset list ); System.out.println (带斜线的json格式字符串: ' strJson ); json的带“”的转义字符string tmp=stringescapeutils.unescape JavaScript (str JSON ); System.out.println ('不带斜线的json格式字符串: ' tmp ); }此第一个输出是list转换为json格式后,key变为大写的字符串json格式的key为:[{'ENDDATE':null,' NAME_SS': '认真的蜻蜓0 ',' sorron 作为' url '的' NAME_SS': '认真的蜻蜓1 '、' SORT':1、' URL': '、{'ENDDATE':null、' name _ ss ' 33652365292; 去分析的时候也有问题。 此时,去掉斜线转义字符吧。

带斜线的json格式字符串: [{'endDate':null,' id':0,' name _ ss ' : ' [ {' end date' : null, ' SORT':1,'url'3360'} ':' 如果取消"、' sort':0、' url':''}] "斜线转义字符,则代码为单行stringescapeutils.unescape JavaScript ' id':0,' name _ ss ' : ' [ { ' end date ' : null,' name _ ss ' : { ' end date ' : null,' name _ ss

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。