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. gb2312提交的url编码转换成utf8的查询

    使用场景,当一网站是gb2312的编码向另一个是utf8的网站提交查询 如:http://search.chinayq.com/?key=%C0%D6%C6%F7 其中key为gb2312的url编码 ...

  2. 自定制Centos7.3系统镜像(ISO)

    本文主要介绍如何根据官方的Centos镜像文件,在保留原有默认安装的RPM包的基础下,添加自己所需要的RPM包的,最终生成一个自定制版的ISO,节省了宝贵的时间并确保了安装的定制性.对于其他没有介绍的 ...

  3. pyglet--旋转的矩形

    展示怎么制作动画.... #-*- coding:utf-8 -*- from pyglet.gl import * from pyglet import clock def draw_rect(x, ...

  4. js动画最佳实现——requestAnimationFrame

    我们经常用setInterval来实现动画,其实这种做法不是太好,因为不同浏览器的刷新频率也不一样(一般认为设置16为最佳,按每秒60帧算,1000/60≍16.67) var dis = 0,tim ...

  5. 使用swagger来编写在线api文档

    swagger是一个非常简单,强大的框架.快速上手,只需要引入jar包 , 使用注解就可以生成一个漂亮的在线api文档 pom.xml <dependency> <groupId&g ...

  6. CentOS6.x下,tomcat - web项目部署

    1. 安装tomcat tomcat安装方法:http://www.cnblogs.com/vurtne-lu/p/6478440.html 2. 配置tomcat 修改server.xml文件 &l ...

  7. SQL Server进阶(一)T-SQL查询和编程的背景

  8. C++中返回值

    函数的返回值用于初始化在调用函数是创建的临时对象. 1.返回值为非引用类型: 会将函数的返回值复制给临时对象.跟实参初始化形参的方式一样. 2.返回值为引用类型: 没有复制返回值,返回的是对象本身.返 ...

  9. MySQL5.7主从复制配置

    1 my.cnf文件 配置 binlog_format = ROW log_bin_trust_function_creators=1 log-error = /usr/local/mysql/dat ...

  10. jQuery——Js与jQuery的相互转换

    $()与jQuery() jQuery中$函数,根据传入参数的不同,进行不同的调用,实现不同的功能.返回的是jQuery对象 jQuery这个js库,除了$之外,还提供了另外一个函数:jQuery j ...