1、需要用到的包

概念:JSON是javascript对象的一种形态,是一种轻量级的数据交换格式。一般用来在Java EE后台服务和Android或者ios、HTML5之间进行通信的一种数据传递的格式。

     Gson是谷歌推出的一个用于生成和解析JSON数据格式的工具。

2、实例

实体类 people

 package com.shore.entity;

 /**
* @author DSHORE/2019-4-19
*
*/
public class People {
private int pid;
private String pname;
private int age;
private String job;
private double sal; public People() { }
public People(int pid, String pname, int age, String job, double sal) {
super();
this.pid = pid;
this.pname = pname;
this.age = age;
this.job = job;
this.sal = sal;
}
public int getPid() {
return pid;
}
public void setPid(int pid) {
this.pid = pid;
}
public String getPname() {
return pname;
}
public void setPname(String pname) {
this.pname = pname;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
public double getSal() {
return sal;
}
public void setSal(double sal) {
this.sal = sal;
}
}

json 测试类

 package com.shore.test;

 import net.sf.ezmorph.bean.MorphDynaBean;
import net.sf.json.JSONObject; import com.shore.entity.People; /**
* @author DSHORE/2019-4-19
*
*/
public class TestJson {
public static void main(String[] args) {
People p = new People();
p.setAge(18);
p.setPname("张三");
p.setJob("工程师");
p.setPid(1);
p.setSal(10000); //手动拼接json数据格式
String j = "{'age':'"+p.getAge()+"','pname':'"+p.getPname()+"','job':'"+p.getJob()+"','pid':'"+p.getPid()+"','sal':'"+p.getSal()+"'}";
System.out.println(j);//返回值:{'age':'18','pname':'张三','job':'工程师','pid':'1','sal':'10000.0'} //将java对象转换为json对象(自动)
JSONObject jsonObject = JSONObject.fromObject(p);
String json = jsonObject.toString();
System.out.println(json);//返回值:{"age":18,"job":"工程师","pid":1,"pname":"张三","sal":10000} //将json字符串转为java对象(自动)
String s = "{\"age\":23,\"job\":\"设计师\",\"pid\":2,\"pname\":\"张三三\",\"sal\":1000}";
jsonObject = JSONObject.fromObject(s);
Object obj = JSONObject.toBean(jsonObject);
MorphDynaBean bean = (MorphDynaBean)obj;
String job = bean.get("job").toString();
String job2 = bean.get("pname").toString();
System.out.println(job2+":"+job);//返回值:张三三:设计师
}
}

如果要将后台的json数据格式的字符串传到前端页面,需要用eval()函数[JavaScript]转换一下数据格式:https://www.cnblogs.com/dshore123/p/10708447.html

gson插件的使用(java对象和json字符串对象之间的转换)

原创作者:DSHORE

作者主页:http://www.cnblogs.com/dshore123/

原文出自:https://www.cnblogs.com/dshore123/p/10733643.html

欢迎转载,转载务必说明出处。(如果本文对您有帮助,可以点击一下右下角的 推荐,或评论,谢谢!)

Java基础97 json插件的使用(java对象和json字符串对象之间的转换)的更多相关文章

  1. 第二十九节:Java基础知识-类,多态,Object,数组和字符串

    前言 Java基础知识-类,多态,Object,数组和字符串,回顾,继承,类的多态性,多态,向上转型和向下转型,Object,数组,多维数组,字符串,字符串比较. 回顾 类的定义格式: [类的修饰符] ...

  2. Java基础-类加载机制与自定义类Java类加载器(ClassLoader)

    Java基础-类加载机制与自定义类Java类加载器(ClassLoader) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 关于类加载器的概念和分类我就不再废话了,因为我在之前的笔 ...

  3. java基础思维导图,让java不再难懂

    java基础思维导图,让java不再难懂 原文链接  https://my.oschina.net/u/3080373/blog/873056 最近看了一些文章的思维导图,发现思维导图真是个强大的工具 ...

  4. Java基础系列1:深入理解Java数据类型

    Java基础系列1:深入理解Java数据类型 当初学习计算机的时候,教科书中对程序的定义是:程序=数据结构+算法,Java基础系列第一篇就聊聊Java中的数据类型. 本篇聊Java数据类型主要包括四个 ...

  5. java字符数组char[]和字符串String之间的转换

    java字符数组char[]和字符串String之间的转换 觉得有用的话,欢迎一起讨论相互学习~Follow Me 使用String.valueOf()将字符数组转换成字符串 void (){ cha ...

  6. Java基础98 gson插件的使用

    1.要用到的包 2.实例 实体类 people package com.shore.entity; /** * @author DSHORE/2019-4-21 * */ public class P ...

  7. java基础(四):谈谈java中的IO流

    1.字节流 1.1.字节输出流output 1.1.1.数据写入文件中 通过api查找output.找到很多,其中java.io.OutputStream,OutputStream: 输出字节流的超类 ...

  8. java基础(一):谈谈java内存管理与垃圾回收机制

    看了很多java内存管理的文章或者博客,写的要么笼统,要么划分的不正确,且很多文章都千篇一律.例如部分地方将jvm笼统的分为堆.栈.程序计数器,这么分太过于笼统,无法清晰的阐述java的内存管理模型: ...

  9. java基础一(阅读Head First Java记录)

    写在前面的话 在实际应用java中,因为没有系统去看过书或者学习过,所以基础薄弱,刚好这本书是比较入门级的一些书,记录一下下面的一些基本概念,以方便自己来学习.当然如果对大家有帮助也是很好的. 因为书 ...

随机推荐

  1. JS面试题(二)(常见算法编程)

    1.字符串转驼峰 例如:border-bottom-color ----> borderBottomColor var str="border-bottom-color"; ...

  2. 中南大学2018年ACM暑期集训前期训练题集(入门题) J : A Simple Problem

    毒瘤哇!为什么要用long long 啊!!!这个题没有加法操作啊,为什么会爆int啊!!!! 思路: http://www.cnblogs.com/buerdepepeqi/p/9048130.ht ...

  3. java配置、IntelliJ IDEA Ultimate激活、

    1.下载并安装 Java地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html IntelliJ IDEA地址:ht ...

  4. mvc4+entityFramework5 发布时遇到的纠结问题

    最近在研究微软的新平台Vs2012,做好的系统在发布到服务器时纠结了.本地环境是win7的,一切运行正常,发布也很顺利.可是悲催的服务器还是windows 2003的,.net framewrok4. ...

  5. free命令常用参数详解

    free命令常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在运维期间我们会经常去查看服务器硬件信息,比如说内存,大家可能知道看内存用“[root@yinzhengji ...

  6. table中表头不动,表体产生滚动条

    <div id="elec_table"> 2 <div class="table-head"> 3 <table> 4 & ...

  7. java字符串转义,把&lt;&gt;转换成<>等字符【原】

    java字符串转义,把<>转换成<>等字符 使用的是commons-lang3-3.4 中的StringEscapeUtils类 package test; import ja ...

  8. eclipse导入项目后找不到.class文件

    今天从git上clone代码到eclipse中,发现项目->右键没有java build path选项,而且src下没有包路径,都显示成文件夹. 发现项目中没有.class文件 后来发现项目-& ...

  9. Linux_安装

    总结:    分区-->格式化-->起一个设备文件名(逻辑分区一定从5开始)-->指定挂载点(必须是空的目录名称作为盘幅)

  10. PHP第三方登录—OAuth2.0协议

    第2章 OAuth授权流程详解