关于String转jsonArray,jsonArray转json,json写入实体类

关于String转jsonArray,jsonArray转json,json写入实体类工作要写个接收数据的接口,基于springMVC的,不了解,补充学习下json的用法1用的是这个jar包,虽然用的时候要导6个包,但用起来很方便。importnet.sf.json.JSONObject;2单个的jsonResult实体类对应json的字段Stringstr="{\"result\":\"success\",\"message\":\"成功!\"}…

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

工作要写个接收数据的接口,基于springMVC的,不了解,补充学习下json的用法

1用的是这个jar包,虽然用的时候要导6个包,但用起来很方便。

import net.sf.json.JSONObject;

2单个的json

Result实体类对应json的字段

String str = "{\"result\":\"success\",\"message\":\"成功!\"}";
		JSONObject json = JSONObject.fromObject(str);
		System.out.println("json:  "+json.toString());
		String a=json.getString("result");
		String b=json.getString("message");
		System.out.println("a:"+a);
		System.out.println("b:"+b);

		Result rst=new Result();
		rst=(Result) net.sf.json.JSONObject.toBean(json, rst.getClass());
		System.out.println("result:"+rst.getResult());
		System.out.println("message:"+rst.getMessage());

输出

json:  {"result":"success","message":"成功!"}
a:success
b:成功!
result:success
message:成功!

3接收的jsonArray

String str = "[{\"result\":\"success\",\"message\":\"成功!\"},{\"result\":\"false\",\"message\":\"失败!\"}]";
		System.out.println("str:"+str);
		JSONArray jsonarray= JSONArray.fromObject(str);
		System.out.println("jsonarray:"+jsonarray);
		for(int i=0;i<jsonarray.size();i++){
			JSONObject json=jsonarray.getJSONObject(i);
			System.out.println("json"+(i+1)+":"+json.toString());
			Result rst=new Result();
			rst=(Result) net.sf.json.JSONObject.toBean(json, rst.getClass());
			System.out.println("result:"+rst.getResult());
			System.out.println("message:"+rst.getMessage());

输出

str:[{"result":"success","message":"成功!"},{"result":"false","message":"失败!"}]
jsonarray:[{"result":"success","message":"成功!"},{"result":"false","message":"失败!"}]
json1:{"result":"success","message":"成功!"}
result:success
message:成功!
json2:{"result":"false","message":"失败!"}
result:false
message:失败!

还不清楚springMVC接口传参数的话直接json格式怎么传方便,当String类传要多加一步String→json处理,然后写入实体类里面。

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql—总体备份和增量备份

    mysql—总体备份和增量备份

    2022年2月6日
    48
  • 路由器有线桥接的两种方式异同

    路由器有线桥接的两种方式异同根据这篇文章 http www gezila com tutorials 46010 html 我小结下两种方式之要点及异同另主路由器为路由器 A 副路由器为路由器 B 方式一 LAN WAN1 A 的 LAN 口接到 B 的 WAN 口 2 B 的以太网接入方式 WAN 口接入类型 选择动态 ip 这个 ip 实质是由 A 的 DHCP 服务分配的 如图 可见 A 给 B 分配的 ip 地

    2025年6月17日
    5
  • 以过来人的身份聊聊实习招聘、秋招、春招(给应届毕业生)

    以过来人的身份聊聊实习招聘、秋招、春招(给应届毕业生)没有学长、学姐能够清楚地告诉我,这些东西的意义。我自己从大三暑期到大四把这三个阶段完整地经历过了,当然因为自己想法多多,心高气傲,无视实习机会,无视秋招。在春招的时候,苦逼求一个面试机会,很多时间就在

    2022年8月3日
    8
  • C# 多线程 ThreadStart和ParameterizedThreadStart

    C# 多线程 ThreadStart和ParameterizedThreadStart线程是轻量级进程。一个使用线程的常见实例是现代操作系统中并行编程的实现。使用线程节省了CPU周期的浪费,同时提高了应用程序的效率。每个线程都定义了一个独特的控制流。如果应用程序涉及到复杂的和耗时的操作,那么设置不同的线程执行路径往往是有益的,每个线程执行特定的工作。线程生命周期线程生命周期开始于System.Threading.Thread类的对象被创建时,结束于线程被终止或完成执行时。线程生命周期中的各种状态:未启动状态:当线程实例被创建但Start方法未被调用时的状况。就绪状态:

    2022年7月15日
    23
  • Pytest(15)pytest分布式执行用例「建议收藏」

    Pytest(15)pytest分布式执行用例「建议收藏」前言平常我们功能测试用例非常多时,比如有1千条用例,假设每个用例执行需要1分钟,如果单个测试人员执行需要1000分钟才能跑完当项目非常紧急时,会需要协调多个测试资源来把任务分成两部分,于是执行时间

    2022年7月28日
    49
  • 请描述django模板中标签的作用?_抽奖券模板

    请描述django模板中标签的作用?_抽奖券模板常用的模板标签if标签if标签相当于Python中的if语句,有elif和else相对应,但是所有的标签都需要用标签符号({%%})进行包裹。if标签中可以使用==、!=、<、<=、&

    2022年7月29日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号