java对象与json对象间的相互转换
工程中所需的jar包,因为在网上不太好找,所以我将它放到我的网盘里了,如有需要随便下载。
1.简单的解析json字符串
- <pre></pre><span style="white-space:pre"></span>
- <pre></pre>
int num = jsonObject.getInt("num");
String sex = jsonObject.getString("sex");
int age = jsonObject.getInt("age");
2.将json字符串转换为java对象
3.将java对象转换为json字符串
- package baz.parse;
- import java.util.ArrayList;
- import java.util.List;
- import net.sf.json.JSON;
- import net.sf.json.JSONArray;
- import net.sf.json.JSONObject;
- import net.sf.json.JSONSerializer;
- import baz.bean.Person;
- public class ParseJson {
- private String jsonStr;
- public ParseJson() {
- }
- public ParseJson(String str){
- this.jsonStr = str;
- }
- /**
- * 解析json字符串
- */
- public void parse(){
- JSONObject jsonObject = JSONObject.fromObject(jsonStr);
- String name = jsonObject.getString("name");
- int num = jsonObject.getInt("num");
- String sex = jsonObject.getString("sex");
- int age = jsonObject.getInt("age");
- System.out.println(name + " " + num + " " + sex + " " + age);
- }
- //将json字符串转换为java对象
- public Person JSON2Object(){
- //接收{}对象,此处接收数组对象会有异常
- if(jsonStr.indexOf("[") != -){
- jsonStr = jsonStr.replace("[", "");
- }
- if(jsonStr.indexOf("]") != -){
- jsonStr = jsonStr.replace("]", "");
- }
- JSONObject obj = new JSONObject().fromObject(jsonStr);//将json字符串转换为json对象
- Person jb = (Person)JSONObject.toBean(obj,Person.class);//将建json对象转换为Person对象
- return jb;//返回一个Person对象
- }
- }
- package baz.bean;
- public class Person {
- private String name;
- private int num;
- private String sex;
- private int age;
- public Person() {
- // TODO Auto-generated constructor stub
- }
- public Person(String name, int num, String sex, int age) {
- super();
- this.name = name;
- this.num = num;
- this.sex = sex;
- this.age = age;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public int getNum() {
- return num;
- }
- public void setNum(int num) {
- this.num = num;
- }
- public String getSex() {
- return sex;
- }
- public void setSex(String sex) {
- this.sex = sex;
- }
- public int getAge() {
- return age;
- }
- public void setAge(int age) {
- this.age = age;
- }
- }
将java对象转换为json字符串
- package baz.cons;
- import net.sf.json.JSONObject;
- /**
- * 将java对象转换为json字符串
- * @author Administrator
- *
- */
- public class ConsJson {
- public ConsJson() {
- // TODO Auto-generated constructor stub
- }
- public String Object2Json(Object obj){
- JSONObject json = JSONObject.fromObject(obj);//将java对象转换为json对象
- String str = json.toString();//将json对象转换为字符串
- return str;
- }
- }
测试类:
- package baz.test;
- import java.util.List;
- import baz.bean.Person;
- import baz.cons.ConsJson;
- import baz.parse.ParseJson;
- public class Test {
- public static void main(String[] args) {
- //将字符串转换为json对象,然后根据建得到相应的值
- ParseJson pj = new ParseJson("{\"name\":\"gu\",\"num\":123456,\"sex\":\"male\",\"age\":24}");
- pj.parse();
- //将一个json字符串转换为java对象
- Person p = pj.JSON2Object();
- System.out.println("Name:" + p.getName());
- System.out.println("Num:" + p.getNum());
- System.out.println("Sex:" + p.getSex());
- System.out.println("age:" + p.getAge());
- //将一个java对象转换为Json字符串
- Person p1 = new Person("gu1",,"male",);
- ConsJson cj = new ConsJson();
- String str1 = cj.Object2Json(p1);
- System.out.println(str1);
- }
- }
测试输出如下:
gu 123456 male 24
Name:gu
Num:123456
Sex:male
age:24
{"age":23,"name":"gu1","num":123,"sex":"male"}
java对象与json对象间的相互转换的更多相关文章
- js 中 json对象 与 json字符串 间相互转换
在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键 JSON字符串: var str1 = '{ " ...
- java对象和json对象之间互相转换
import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;import java.util.Li ...
- java对象与json对象之间的转换
jar包:import net.sf.json.JSONObject; 1.解析json字符串 将json字符串转换为json对象,然后再解析json对象:.JSONObjectjsonObject ...
- JS中实现JSON对象和JSON字符串之间的相互转换
对于主流的浏览器(比如:firefox,chrome,opera,safari,ie8+),浏览器自己提供了JSON对象,其中的parse和stringify方法实现了JSON对象和JSON字符串之间 ...
- JavaScript对象、JSON对象、JSON字符串的区别
一.首先看下什么是JSON JSON:JavaScript Object Natation,JavaScript对象的表现形式,已经发展成一种轻量级的数据交换格式. JavaScript对象的表现形式 ...
- fastjson: json对象,json对象数组,javabean对象,json字符串之间的相互转化
fastjson: json对象,json对象数组,javabean对象,json字符串之间的相互转化 在开发过程中,经常需要和前端交互数据,数据交互的格式都是JSON,在此过程中免不了json字符串 ...
- 一种简单,轻量,灵活的C#对象转Json对象的方案(续)
本文参考资料 一种简单,轻量,灵活的C#对象转Json对象的方案 [源码]Literacy 快速反射读写对象属性,字段 一段废话 之前我已经介绍了这个方案的名称为JsonBuilder,这套方案最大的 ...
- js压缩xml字符串,将xml字符串转换为xml对象,将xml对象转换为json对象
/** * 压缩xml字符串 */ function compressXmlStr(str){ var prefix, suffix; var i = str.indexOf("\r&quo ...
- JavaScript Json对象和Json对象字符串的关系 jsonObj<->JsonString
JavaScript Json对象和Json对象字符串的关系 jsonObj<->JsonString 如下示例: 直接写的a1就是一个Json对象,a2 就是一个Json对象字符串; 通 ...
随机推荐
- js中的DOM操作(2)
1.表格的更加与删除 <!DOCTYPE html> <html> <head> <title>表格操作</title> <style ...
- angular例子笔记
学习angular的插件写法和制作; <!DOCTYPE html> <html ng-app="APP"> <head> <meta c ...
- Ibatis对日期的处理
最近在项目中出现两种情况(因为项目比较早,经历各个版本的改动,所有设计不一致),第一种:数据库中某一字段为Date类型,对应的bean中的类型为java.util.Date,所有在对应的映射中会出现字 ...
- [Windows 64] (搬运)价值¥ 6,499的软件Navicat Premium11.2.11 最新版及其注册机
Navicat Premium可以连接6种数据库并开发> 转载于:http://www.52pojie.cn/thread-529020-1-1.html
- Linux(CentOS)下安装git
上个月把VPS迁到budgetVM,终于不用再受digitalOcean的气了,入手很方便,重点是支持支付宝付款——paypal的界面真是不习惯,开通速度挺快的,1G的内存够我折腾一段时间了~,额外送 ...
- 在Web Service中傳送Dictionary
有個需求,想在Web Service中傳遞Dictionary<string, string>參數,例如: 排版顯示純文字 [WebMethod] public Dictionary< ...
- 洛谷P1134 阶乘问题
题目描述 也许你早就知道阶乘的含义,N阶乘是由1到N相乘而产生,如: 12! = 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 = 479,001, ...
- Android Studio学习笔记
转:http://stormzhang.com/devtools/2014/11/25/android-studio-tutorial1 背景 相信大家对Android Studio已经不陌生了,An ...
- MyEclipse------各种问题解决方法
1.汉化后如何变为英文版:找到myeclipse.ini文件,改为:language=enlanguage=zh为中文 2.解决版本不匹配问题:http://blog.sina.com.cn/s/bl ...
- TP中二维数组的遍历输出
例子分析 <volist name="list" id="vo"> <volist name="vo['sub']" id ...