五、Json

Gson 解析JSON 五 代码: import java.io.Serializable; public class ResponseBean implements Serializable{ /** * */ private static final long serialVersionUID = 1000001l; private boolean state; private String mes 阅读详情

1.Json概念:特殊的字符串

  JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级

  数据交换格式。

  XML也是一种数据交换格式,为什么没有选择XML呢?

  因为XML虽然可以作为跨平台的数据交换格式,但是在JS(JavaScript的简写)中处理XML非常不方便,同时XML标记比数据多,

  增加了交换产生的流量,而JSON没有附加的任何标记,在JS中可作为对象处理,所以我们更倾向于选择JSON来交换数据。

  

2.对象和Json之间的转换

      <1>对象--->字符串:  JsonObject jsonObject=JsonObject.fromObject(对象);
      <2>字符串-->对象:  
            ①.JsonObject jsonObject=JsonObject.fromObject(字符串);
            ②.对象=jsonObject.toBean(jsonObject,对象.class);

3.对象集合和字符串之间的转换

     <1>对象集合--->字符串
            JsonArray jsonArray=JsonArray.fromObject(对象集合);
     <2>字符串---->对象集合
            JsonArray jsonArray=JsonArray.fromObject(字符串);
            对象集合=jsonArray.toCollection(jsonArray);

4.在JSP中使用Json

      在jsp页面引入json.js文件
     <1>Json.stringify(对象)----->将JS对象转换成Json字符串
     <2>Json.parse-------->将Json字符串转成Js对象

      http://www.bejson.com/  校验Json格式



例子

package com.zking.entity;

public class Person {
       private int pid;
       private String pname;
       private int page;
       
       public Person() {
    	   super();
    	   // TODO Auto-generated constructor stub
       }
       public Person(int pid, String pname, int page) {
    	   super();
    	   this.pid = pid;
    	   this.pname = pname;
    	   this.page = page;
       }
       
		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 getPage() {
			return page;
		}
		public void setPage(int page) {
			this.page = page;
		}
		
		@Override
		public String toString() {
			return "Person [page=" + page + ", pid=" + pid + ", pname=" + pname
					+ "]";
		}
       
       
}

package com.zking.test;

import java.util.ArrayList;
import java.util.List;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

import org.junit.Test;

import com.zking.entity.Person;

/**
 * {} Json对象          JsonObject
 * [] Json对象集合   JsonArray
 *
 */
public class TestJson {

//对象和Json之间的转换
	   /**
	    * 对象转成Json(常用)
	    * <1>对象--->字符串:  JsonObject jsonObject=JsonObject.fromObject(对象);
	    */
	    @Test
	    public void testObjectToJson(){
	    	   Person per=new Person(1,"admin",20);
	    	   JSONObject jb=JSONObject.fromObject(per);
	    	   System.out.println(jb.toString());//控制台输出: {"page":20,"pid":1,"pname":"admin"}
	    }
	
	    /**
	     * json字符串转成对象
	     * <2>字符串-->对象:  
	     *     ①.JsonObject jsonObject=JsonObject.fromObject(字符串);
	     *     ②.对象=jsonObject.toBean(jsonObject,对象.class);
	     */
	     @Test
	     public void testJsonToObject(){
	    	    Person per=new Person(1,"admin",20);
	    	    JSONObject jb=JSONObject.fromObject(per);
	    	    String str=jb.toString();
	    	    
	    	    Person per2=(Person)JSONObject.toBean(jb,Person.class);
	    	    System.out.println(per2);//控制台输出:  Person [page=20, pid=1, pname=admin]
	     }
	    
	     
//对象集合和字符串之间的转换	    
	     /**
	      * 对象集合转成Json(常用)
	      * <1>对象集合--->字符串
	      *    JsonArray jsonArray=JsonArray.fromObject(对象集合);
	      */
	      @Test
	      public void testArrayToJson(){
	    	     List<Person> lt=new ArrayList<Person>();
	    	     for (int i = 1; i <= 36; i++) {
					  lt.add(new Person(i,"G160628S"+i,19));
				 }
	    	     JSONArray ja=JSONArray.fromObject(lt);
	    	     System.out.println(ja.toString());
	      }
	     
	     /**
	      * 将Json转成对象集合
	      * <2>字符串---->对象集合
	      *    JsonArray jsonArray=JsonArray.fromObject(字符串);
	      *    对象集合=jsonArray.toCollection(jsonArray);
	      */
	      public void testJsonToArray(){
	    	     List<Person> lt=new ArrayList<Person>();
	    	     for (int i = 0; i <= 36; i++) {
					  lt.add(new Person(i,"G160628S"+i,19));
				 }
	    	     JSONArray ja=JSONArray.fromObject(lt);
	    	     
	    	     List<Person> lt2=(List<Person>) JSONArray.toCollection(ja,Person.class);
	    	     for (Person p : lt2) {
					  System.out.println(p);
				}
	      }
	
} 


index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
	
	
	<script type="text/javascript" src="jQuery/jquery-3.1.1.min.js"></script>
	<script type="text/javascript">
	        function Person(pid,pname,page){
	        	     this.pid=pid;
	        	     this.pname=pname;
	        	     this.page=page;
	        }
	        $(function(){
	        	  $("#jsonToObject").click(function(){
	        		    //把json转成对象(最常用)
	        		    var per=new Person(1,"admin",23);
	        		    var str=JSON.stringify(per);
	        		    var perVar=JSON.parse(str);
	        		    alert(perVar.pname);
	        	  });
	        	  
	        	  $("#ObjectToJson").click(function(){
	        		    var per=new Person(1,"admin",21);
	        		    //将对象转成Json(不常用)
	        		    var str=JSON.stringify(per);
	        		    alert(str);
	        	  });
	        });
	</script>
	
  </head>
  
  <body>
       <input type="button" value="Json转成对象" id="jsonToObject"/>
       <input type="button" value="对象转成Json" id="ObjectToJson"/>
  </body>
  
  <%-- 浏览器查看:    http://localhost:8080/web05_Json/index.jsp --%>
  
  
  
</html>


要记得导包哦




如有错误的地方,还请大家帮忙指出来。




VCSA 6.7证书更新全流程指南:从故障诊断到完整替换 本文详细介绍了VCSA 6.7证书更新的全流程,包括故障诊断、证书替换操作步骤及常见问题解决方案。通过使用官方脚本和证书管理器,帮助管理员快速解决证书过期问题,确保vCenter系统的稳定运行。特别强调了STS证书修复和全量证书重置的关键步骤,适用于vcsa6.7环境下的证书管理需求。 阅读详情

相关推荐

ESP8266连接阿里云(STM32)

一、概述 之前通过串口调试助手+ESP8266已经连接上阿里云了 ESP8266连接阿里云(串口调试助手) 这次我们使用STM32+ESP8266来接入阿里云,其实本质上就是STM32和ESP8266进行串口通信,相当于使用STM32代替之前使用的串口调试助手来发送AT指令。只是发送的字符串数据可能有些细节需要注意一下。 二、保存连接的AT指令 定义几个字符串数据保存需要发送的AT指令 //注意: //末尾记得加\r\n //字符...

xyx0610的博客 4万+

JSON的使用

1.1、什么是 JSON JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于 JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999 的一个子集。 JSON 采用完全独立于语言的文本格式,但是也使用了类似于 C 语言家族的习惯(包括 C, C++, C#, Java,JavaScript, Perl, Pyt

weixin_51797050的博客 2616

Hifiasm参数调优实战:当N50不理想时的7个排查方向与解决方案

本文详细解析了Hifiasm参数调优实战,针对基因组组装中N50不理想的7个排查方向与解决方案。通过调整--hom-cov、-D、-N等核心参数,结合HiFi数据和参考基因组分析,有效提升组装质量。文章以猪毛菜基因组为例,展示了从2.1MB到4.3MB的N50优化过程,为生物信息学研究者提供实用指南。

weixin_30642561的博客 425

json 对象里面含有 =的解决办法

今天通过restful 调用接口的时候,遇到这样的问题,通过接口返回的数据如下: { "code": 0, "message": "成功", "result": { "count": 1 } } 然后 需要获取 count后面的值,于是 通过json转化的...

weixin_30608503的博客 1158

避坑指南:ZYNQ平台上AXI 1G/2.5G Ethernet Subsystem实现IEEE1588的5个关键点

本文详细解析了在ZYNQ平台上使用AXI 1G/2.5G以太网子系统实现IEEE1588精密时间协议(PTP)的5个关键避坑点。从硬件选型、Vivado工程配置到Linux驱动适配,提供了实战经验与优化技巧,帮助工程师在工业自动化、电力系统等场景中实现纳秒级时间同步。

weixin_30687051的博客 232

《FPGA DDR3权威实战:从基础到高速故障录波系统》专栏导览:从不知所措到心中有数

本文是一份DDR3实战指南,作者从自身学习经历出发,分享了一套循序渐进的DDR3应用路线图。专栏包含12篇文章,从基础配置(MIG IP核、AXI总线)、仿真测试到实际项目应用(功能测试、性能测试),最后深入原生MIG接口实战,通过一个高速故障录播系统案例完整展示DDR3开发流程。文章特别强调实践性,旨在帮助读者系统掌握DDR3开发技能,避免作者当年踩过的坑。每篇都配有优快云链接,适合FPGA开发者按顺序学习参考。

FPGA_小田老师的博客 331

JSON详解

Java与JSON做什么,JSON与java对象转换,有详细案例

m0_56223907的博客 243

Codex 100个真实案例 - 用AI做在线考试系统(自动组卷+防作弊)

本案例使用 Codex 从零搭建一个功能完整的在线考试系统。涵盖题库管理(单选/多选/判断/填空)、智能随机组卷、考试倒计时、自动判分、成绩统计分析、以及多维度防作弊机制(切屏检测、禁止复制粘贴、IP限制等)。前端使用 Vue 3 + Element Plus 构建考试界面,后端使用 Node.js + Express + MySQL 提供 API 服务。全程用自然语言驱动 Codex 完成开发,最终交付一个可直接部署的在线考试平台。

yueyeguzhuo的专栏 80

json详解

JSON 是一种轻量级的数据交换格式,它是基于 JavaScript 的一个子集,采用完全独立于编程语言的格式来表示数据,可以跨语言、跨平台使用。简洁清晰的层次结构使得 JSON 逐渐替代了 XML,成为了最理想的数据交换格式,广泛应用于 Web 开发领域。JSON 全称“JavaScript Object Notation”,译为“JavaScript 对象简谱”或“JavaScript 对象表示法”,是一种轻量级的、基于文本的、开放的数据交换格式。

刘皇叔说Java的博客 2273

SAP_FICO模块-资产减值功能对折旧和残值的影响

SAP_FICO模块-资产减值操作对资产历史折旧以及后续折旧的影响,包括减值操作的配置前提

风沙的博客 2805

ZYNQ Petalinux编译系统启动文件实战指南

本文提出的混合编译加速方案实测可将编译时间从45分钟缩短至18分钟,QSPI双启动方案已在工业控制领域成功应用。Xilinx官方UG1144文档(最新v2023.1版)正点原子《ZYNQ嵌入式开发实战》开源项目Meta-Petalinux(GitHub趋势项目)未来展望:随着Versal平台的普及,Petalinux将支持更多AI加速器原生驱动,值得持续关注。

QQ_778132974的博客 812

什么是 JSON?JSON详解

JSON,是一种轻量级的数据交换格式。它的使用范围很广,并成为 ECMA 标准,可以被使用在多种编程语言中,用于前后端之间的数据传输、存储和交换数据。可以说是“用更少的编码,有更快的处理速度”,所以深受广大程序员的喜爱。JSON 格式的数据是由键值对组成的,其中键值对之间使用逗号分隔。在 JSON 中,键和值都必须使用双引号引起来。"age": 2,

YLF123456789000的博客 2021

高通平台 Android T 蓝牙技术全解析:A2DP 与 AVRCP 核心代码路径与交互流程

A2DP 接收端 - 连接流程(AVDTP 打开)

专业开发者的博客,一个从事Android WiFi和蓝牙的工程师 288

五、json模块

一、json模块的介绍 json模块是Python自带的模块,用于json和Python数据之间的相互转换 Json与Python数据类型的对应关系 Json Python object dict array list string str number(int) int,long number(real) float true True false False null None [#中括号括起来的,对应与Json中的array数组,在python中为lis

beyond谚语的博客 1165

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

js学习五-JSON

JavaScript Object Notation,是一种轻量级的数据交换格式 注意:属性名要用“”括起来,构造函数中的属性名不需要用“”括起来  JSON字符串的格式一定要标准,key和value一定要用双引号包括,否则会出线解析异常   特点:轻量级,纯文本,适合不同语言间的交互 方法: 1.JSON.parse(text[,reviver]) text为JSON格式的字符串

菜鸟大侠的专栏 528

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

五 JSON数据交互

五 JSON数据交互JSON什么是json?**语法格式**JSON与JS关系JSON和JS对象互转测试Controller返回JSON数据@ResponseBody乱码统一解决**返回json字符串统一解决**输出时间对象封装为工具类FastJsonpom依赖测试 JSON 什么是json? JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本

loveZyourself 549

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

五、Mysql中JSON类型

JSON入门 新建表 create table json_user ( uid int auto_increment, data json, primary key(uid) ); 插入数据 insert into json_user values ( null, '{ "name":"lison", "age":18, "address":"enjoy" }' ); insert into json_user values ( null, '{ "name":"

one大白(●—●)的博客 221

章节五:json

我们先去看看Network的页面。在你刚才打开的QQ音乐页面,调用“检查”()工具,然后点击Network。如上图左边框框里的是Elements,我们在那里查看网页源代码。右边框框是我们现在要关注的Network。Network的功能是:记录在当前页面上发生的所有请求。现在看上去好像空空如也的样子,这是因为Network记录的是实时网络请求。现在网页都已经加载完成,所以不会有东西。我们点击一下刷新,浏览器会重新访问网络,这样就会有记录。

不能将运气当成战略! 494

五、Groovy语法(五)json、xml解析

Groovy数据解析 一、json解析 //groovy中也可导入gson、fastJson等json解析库,与java中一致 //但是groovy中提供了使用起来更加简洁的方式 class Person { String name Integer age } def personList = [new Person(name: 'java', age: 28), ne...

heng615975867的专栏 1940

Jmeter 初识五 Json Extractor 提取json对象和json数组

接口响应结果,通常为HTML、JSON格式的数据,对于HTML的响应结果的提取,可以通过正则表达式,也可以通过XPath 来提取。 对于JSON格式的数据,可以通过正则表达式、JSON Extractor插件、BeanShell 来提取。 本次说下如何通过JSON Extractor 插件来提取JSON响应结果。 比如说,接口返回的JSON响应结果如下格式,如何获取 id 为12341的数据...

闲庭信步98的博客 7715

五、python递归解析JSON

python解析json

rui_rui96的博客 815

JSON学习五——>android中json文件的写法

因为在android中有一个Context.getResources().openRawResource(resid);所以我们可以写一个json文件放在raw中 然后InputStream in = mContext.getResources().openRawResource(resi...

choumoyin5005的博客 175

JavaScript(五):JSON

JavaScript中提供了JSON对象,内置了方法开处理JSON数据,包括将对象转换为JSON字符串和将JSON字符串解析为JavaScript对象。在 JavaScript 对象中,键可以是字符串、数字或符号,但在 JSON 中,键必须是字符串,且必须用双引号。对象转换为 JSON 字符串,可以将它发送到服务器,或将其存储在本地存储(localStorage)中。方法将 JSON 字符串转换为 JavaScript 对象,我们可以访问和操作其中的键值对。1. JSON中的键必须是字符串。

LUwantAC的博客 592

JSON(五)

JSON 数组 数组作为 JSON 对象 实例 [ "Google", "Runoob", "Taobao" ] JSON 数组在中括号中书写。 JSON 中数组值必须是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。 JavaScript 中,数组值可以是以上的 JSON 数据类型,也可以是 Ja

shi199434的博客 149

ANTLR4(五) 解析JSON

ANTLR4 解析JSON解析JSON从JSON参考手册中提取关键信息根据信息编写语法文件json文件对象键值对数组值字符串转义字符UNICODEHEX数字无符号整数指数符号空白字符通过语法分析树检验 解析JSON 这次我们试着用新学的语法和词法知识来解析json。 从JSON参考手册中提取关键信息 一个典型的json文件: 我们从json的参考手册和官方语法解释得出以下: 一个json文件可以是一个对象,或者是一个由若干值组成的数组。 一个对象是一组无序的键值对集合;一个对象以一个{开始,并以一个}结

pourtheworld的博客 1494

SpringMVC学习(五)Json

六、JSON 6.1、Json是什么 JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集, 采用完全独立于编程语言的文本格式来存储和表示数据。 简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率 值可以是对象、数组、数字、字符串或者三个字面值(false、null、true)中的一个。值中的字

遨游DATA 223
上一篇: 四、JNDI
下一篇: 六、自定义MVC
_北冥有鱼_
博客等级 码龄10年 41粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值