分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

JSON

发布时间:2023-09-06 01:34责任编辑:董明明关键词:暂无标签
一、JSON

1.JSON是什么
  JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它是js提供的一种数据交换格式!
2.json的语法
  • {}:是对象!
    • 属性名必须使用双引号括起来!单引不行!!!
    • 属性值:
      • null
      • 数值
      • 字符串
      • 数组:使用[]括起来
      • boolean值:true和false

3.应用json
  • var person = {"name":"zhangSan", "age":18, "sex":"male"};
  • alert(person.name+","+person.age+","+person.sex);
4.json与xml比较
  • 可读性:XML胜出
  • 解析难度:JSON本身就是JS对象(主场作战),所以简单很多
  • 流行度:XML已经流行好多年,但在AJAX领域,JSON更受欢迎。
5.示例:
 1 package web.servlet; 2 ?3 import javax.servlet.ServletException; 4 import javax.servlet.annotation.WebServlet; 5 import javax.servlet.http.HttpServlet; 6 import javax.servlet.http.HttpServletRequest; 7 import javax.servlet.http.HttpServletResponse; 8 import java.io.IOException; 9 10 @WebServlet(name = "AServlet",urlPatterns = "/AServlet")11 public class AServlet extends HttpServlet {12 ????protected void doGet(HttpServletRequest request, HttpServletResponse response) 13 ????????????throws ServletException, IOException {14 ????????/*15 ????????* 向客户端发送json串16 ????????* */17 ????????String str = "{"name":"zhangsan","age":18,"sex":"male"}";18 ????????response.getWriter().print(str);19 ????????System.out.println(str);20 ????}21 }
 1 <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 3 <html> 4 <head> 5 ????<title>Title</title> 6 ????<script type="text/javascript"> 7 ????????//创建异步对象 8 ????????function createXMLHttpRequest() { 9 ????????????try {10 ????????????????return new XMLHttpRequest();11 ????????????}catch (e){12 ????????????????try{13 ????????????????????return ActiveXObject("Msxml2.XMLHTTP");14 ????????????????}catch (e){15 ????????????????????try {16 ????????????????????????return ActiveXObject("Microsoft.XMLHTTP");17 ????????????????????}catch (e) {18 ????????????????????????alert("您用的是什么浏览器啊?")19 ????????????????????????throw e;20 ????????????????????}21 ????????????????}22 ????????????}23 ????????}24 ????????window.onload = function () {25 ????????????//获取btn元素26 ????????????var btn = document.getElementById("btn");27 ????????????btn.onclick = function () { //给按钮的点击事件上添加监听28 ????????????????//使用ajax得到服务器端响应,把结果显示到h3中29 ????????????????//1、得到request30 ????????????????var xmlHttp = createXMLHttpRequest();31 ????????????????//2、连接32 ????????????????xmlHttp.open("GET","<c:url value="/AServlet"/>",true);33 ????????????????//3、发送34 ????????????????xmlHttp.send(null);35 ????????????????//4、给xmlHttp的状态改变事件上添加监听36 ????????????????xmlHttp.onreadystatechange =function () {37 ????????????????????//双重判断38 ????????????????????if(xmlHttp.readyState == 4 && xmlHttp.status == 200) {39 ????????????????????????var text = xmlHttp.responseText;//它是一个json串40 ????????????????????????var person = eval("("+text+")");41 ????????????????????????var s = person.name+","+person.age+","+person.sex;42 ????????????????????????document.getElementById("h3").innerHTML = s;43 ????????????????????}44 ????????????????};45 ????????????????46 ????????????};47 ????????};48 ????</script>49 </head>50 <body>51 <%-- 点击按钮后,把服务器响应的数据显示到h3元素中 --%>52 <button id="btn">点击这里</button>53 <h1>JSON之Hello World</h1>54 <h3 id="h3"></h3>55 </body>56 </html>

二、json-lib

1. 是什么?
  • 它可以把javabean转换成json串
  • json-lib.jar下载链接:https://sourceforge.net/projects/json-lib/files/json-lib/json-lib-2.4/
2. 核心类
  • JSONObject --> Map
    • toString();
    • JSONObject map = JSONObject.fromObject(person):把对象转换成JSONObject对象
  • JSONArray --> List
    • toString()
    • JSONArray jsonArray = JSONObject.fromObject(list):把list转换成JSONArray对象
3.示例:
 1 package demo1; 2 ?3 import Person.Person; 4 import net.sf.json.JSONArray; 5 import net.sf.json.JSONObject; 6 import org.junit.Test; 7 import java.util.ArrayList; 8 import java.util.List; 9 10 /**11 ?* 演示JSON-lib小工具12 ?*/13 public class Demo1 {14 ????@Test15 ????public void fun1() {16 ????????JSONObject map = new JSONObject();17 ????????map.put("name","zhangsan");18 ????????map.put("age",25);19 ????????map.put("sex","male");20 ????????String s = map.toString();21 ????????System.out.println(s);22 ????}23 ????/*24 ????* 当你已经有一个Person对象时,可以把Person转换成JSONObject对象25 ????*/26 ????@Test27 ????public void fun2() {28 ????????Person p = new Person("lisi",32,"female");29 ????????//把对象转换成JSONObject类型30 ????????JSONObject map = JSONObject.fromObject(p);31 ????????System.out.println(map.toString());32 ????}33 ????/**34 ?????* JSONArray35 ?????*/36 ????@Test37 ????public void fun3() {38 ????????Person p1 = new Person("zhangsan",25,"male");39 ????????Person p2 = new Person("lisi",32,"female");40 41 ????????JSONArray list = new JSONArray();42 ????????list.add(p1);43 ????????list.add(p2);44 45 ????????System.out.println(list.toString());46 ????}47 ????/**48 ?????* 原来就有一个List,我们需要把List转换成JSONArray49 ?????*/50 ????@Test51 ????public void fun4 () {52 ????????Person p1 = new Person("zhangsan",25,"male");53 ????????Person p2 = new Person("lisi",32,"female");54 ????????List<Person> list = new ArrayList<Person>();55 ????????list.add(p1);56 ????????list.add(p2);57 58 ????????System.out.println(JSONArray.fromObject(list).toString());59 ????}60 }

JSON

原文地址:https://www.cnblogs.com/gdwkong/p/8191289.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved