首页 > 编程知识 正文

string转成json(string转jsonarray)

时间:2023-05-06 09:01:30 阅读:97220 作者:2112

String转成JSON

这个依赖很重要,我们将围绕fastjson中的JSONObject这个类来谈转换

属国

groupIdcom.alibaba/groupId

artifactIdfastjson/artifactId

版本1 .2 .15/版本

/依赖性

线转成JSONString JSON=' { ' ABC ' : ' 1 ', '哈哈哈' : ' 2 ' }

JSON对象JSON对象=JSON对象。parseobject(内容);

一句话就能解决,非常便捷。

想要取出值,可以对` jsonObject '进行操作:

jsonobject。GetString(' ABC ');

结果为:`1`

将线转为目录后转为JSONListString list=new ArrayListString();

名单。添加('用户名');

名单。添加('年龄');

名单。添加(' sex ');

JSONArray数组=new JSONArray();

数组。添加(列表);

将线转为地图后转为JSONMapString,String map=new HashMapString,String();

map.put('abc ',' ABC ');

map.put('def ',' EFG ');

JSONArray数组_ test=new JSONArray();

数组测试。添加(地图);

JSON对象JSON对象=JSON对象。来自对象(映射);

特别注意:从JSONObject中取值,碰到了数字为键的时候,如

{

userAnswer': {

'28568': {

'28552': {

qId': '28552 ',

订单' : '1 ',

userScore': {

得分' : 100

},

回答' : {

'28554': '28554'

},

qScore': '100.0 ',

qtype': '单一选择,

sId': '28568 '

}

}

},

paperType': '1 ',

纸质' : '28567 ',

instanceId': 30823,

剩余时间' : -1,

examOid ' : ' 28570 '

}

获取"用户回答"的价值,再转成JSON,可仿照如下形式:

JSON对象userJson=JSON对象。parseobject(JSON对象。getstring('用户答案');

但是想获取密钥' 28568 '就没这么容易了。直接像上述的写法,会报错。

我们浏览fastjson中的源码,总结下,应该如下写:

JSON对象问题=(JSON对象)JSON对象。parseobject(节。getstring(' 28568 '),对象。类);

整体代码:

大刀代码很容易,就不贴出来了。

包裹。com。夏梅奈尔。训练。生意。服务;

进口。com。阿里巴巴。法斯森。JSON对象;

进口。com。夏梅奈尔。训练。生意。刀。以利亚宁道。elearningexaminstancedao

进口。com。夏梅奈尔。训练。生意。刀。道大师。elearningchoice erecordao

进口。com。夏梅奈尔。训练。生意。模特。laschoice记录;

进口。com。夏梅奈尔。训练。生意。模特。实体。电子学习。虔诚;

导入组织。弹簧框架。豆子。工厂。注释。自动连线;

导入组织。弹簧框架。日程安排。注释。预定;

import org.springframework。刻板印象。服务;

导入Java。数学。BigDecimal

导入Java。SQL。Blob

导入Java。SQL。SqLexception

导入Java。文字。SimpleDateformat

导入Java。乌提尔。*;

@服务

公共类ChoiceRecordService {

//查询数据大刀

@自动连线

私人电子邮件选择电子邮件;

//转储数据大刀

@自动连线

私有电子邮件检查安装道;

私人选择记录服务(){ 0

}

私有静态类单线记录位置{

私有静态最终laschoice记录选择记录=新laschoice记录();

}

公共静态laschoicerecord GetMapInstance(){ 0

返回单线协调。选择记录;

}

私有静态simpledate格式simpledate格式=新的simpledate格式(' yyyy-MM-DD ');

/**

* 定时任务,每天定时将E学网考试数据分析并转储

*

* @param : instanceIdList

* @返回:无效

* @作者: 28370高挑的高跟鞋

* @日期: 2018/11/20

**/

@Scheduled(cron='00 00 01 * *?')

公共void分析选择记录(){ 0

//获取前一天的时间

日期日期=新日期();

日历日历=日历。getinstance();

calendar.setTime(日期);

calendar.add(日历. DATE,-1);

日期=日历。gettime();

字符串日期字符串=简单日期格式。格式(日期);

ListBigDecimal instance id list=elearningexaminstanceao。findninstanceidbyfinishtime(日期字符串);

if(0!=实例id列表。size()){ 0

LasChoiceRecord LasChoiceRecord=getMapInstance();

instanceIdList.stream().forEach(实例id-{ 0

blob answerBlob=elearningexaminstanceao。查找用户答案(实例id);

long userId=elearningexaminstanceao。查找userId(实例id);

字符串内容=null

尝试{

内容=新字符串(answerblob。getbytes((long)1,(int)answerblob。length()));

} catch(SqLexception e){ 0

e。print stack trace();

系统。出去。println(' sqlexception : ' e);

}

JSON对象JSON对象=JSON对象。parseobject(内容);

//针对本部分的'公共'属性直接设置

laschoiceerecord。setuserid(userId);

laschoiceerecord。setpaper类型(jsonobject。getstring('纸张类型');

laschoiceerecord。set aper id(JSON object。get string(' paper oid ');

laschoiceerecord。SetCheckInstanceid(JSonobject。GetString(' instance id ');

laschoiceerecord。setremainingtime(jsonobject。getstring(' remainingTime ');

laschoiceerecord。setexamid(JSonobject。GetString(' ExAmoID ');

//针对部分中的题目进行细化循环拆分

JSON对象userJson=JSON对象。parseobject(JSON对象。getstring('用户答案');

set section set=userjson。KeySet();

IteratorString setIt=节集。迭代器();

分析电源(激光选择记录、用户界面、设置);

});

}

}

私有void analyze答案(LasChoiceRecord LasChoiceRecord,JSONObject userJson,IteratorString setIt){ 0

while(SetIt。HasNeXt()){ 0

//对每个问题进行再次拆分出题目

JSONObject节=(JSON对象)JSON对象。parseobject(userjson。getstring(setit。next())、object。类);

设置问题集=部分。KeySet();

IteratorString queIt=question set。迭代器();

while(queit。HasNeXt()){ 0

JSON对象问题=(JSON对象)JSON对象。parseobject(节。getstring(queit。next())、object。类);

字符串用户答案=问题。GetString(')答案');

字符串UserScore=问题。GetString(' UserScore ');

laschoice电子记录。setquestionid(问题。getstring(' qId ');

激光选择记录。setrecordid(uuid。randomuuid().toString());

电子邮件选择记录保存;

}

}

}

}

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