zoukankan      html  css  js  c++  java
  • functionschemaJSON基本用法

    在本文中,我们主要介绍functionschema的内容,自我感觉有个不错的建议和大家分享下

        JSON(JavaScriptObject Notation)是一种轻量级的数据交换格式。简略地说,JSON可以将JavaScript对象中表现的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从Web客户机传递给服务器端程序。这个字符串看起来有点儿怪僻,但是JavaScript很容易解释它,而且JSON可以表现比"名称/值对"更复杂的结构。例如,可以表现数组和复杂的对象,而不仅仅是键和值的简略列表。

             下面举几个简略的实例来介绍Json,因为JSONjavascript的原生格式,因此不需要任何特别的API包或工具包。

             实例一

        

        <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> <script type="text/javascript"> function testJson(){ var user = { "name":"tom", "age":11, "info":{"tel":"lf","cellphone":"1223"}, "address": [ {"city":"lf","postcode":"111"}, {"city":"bj","postcode":"222"}, ] } alert(user.name); alert(user.info.cellphone); alert(user.address[1].postcode); } </script> </head> <body> <input type="button" value="TestJson" onclick="testJson()"> </body> </html>

             可直接运行测试。

             实例二

           下面这个实例是前后台如何交互的实例,首先把环境搭起来,创建一个Maven项目json_test,具体创建过程不再赘余,pom.xml文件:

        

        <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.tgb</groupId> <artifactId>json_test</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>json_test Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.0</version> <scope>test</scope> </dependency> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.4</version> </dependency> <dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils</artifactId> <version>1.7.0</version> </dependency> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>net.sf.ezmorph</groupId> <artifactId>ezmorph</artifactId> <version>1.0.6</version> </dependency> <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>jdk15</classifier> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>3.0.4.RELEASE</version> </dependency> </dependencies> <build> <finalName>json_test</finalName> </build> </project>

              Web.xml配置如下

        

        <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>json_test</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>

              SpringMVC的配置文件和web.xml文件在同一个目录下,springMVC-servlet.xml

        每日一道理
    微笑,是春天里的一丝新绿,是秋日里的一缕阳光,是骄阳下的一片浓荫,是冬雪中的一株梅红……微笑着去面对吧,你会感到人生是那样的温馨与甜蜜!

        

        <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> <context:component-scan base-package="com.tgb.json" /> <mvc:annotation-driven /> <mvc:resources location="/js/" mapping="/js/**"/> </beans>

        下面关于SpringMVC的货色也未几讲,因为这不是要讲的重点。项目中还会用到Jquery,因此大家自行下载jquery包,放到webapp/js包下。

             下面开始编写后台的代码,首先创建一个POJOUser

        

        package com.tgb.json; public class User { private String username; private int age; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }

             然后创建TestJson类,在这个类中,我写了三个方法,是分别测试传递User对象、List集合和Map的。

        

        package com.tgb.json; import java.io.PrintWriter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class TestJson { @RequestMapping("logon.do") public String logon(HttpServletRequest request,HttpServletResponse response){ return "/test/addUser"; } //返回User对象 @RequestMapping("/test/json1") public void returnUser(HttpServletRequest request,HttpServletResponse response) throws Exception{ response.setContentType("text/html"); PrintWriter out = response.getWriter(); User u1 = new User(); u1.setUsername("tom1"); u1.setAge(11); //Json返回实体 JSONObject jsonObject = JSONObject.fromObject(u1); //返给ajax请求 out.print(jsonObject); } //返回List @RequestMapping("/test/json2") public void returnList(HttpServletRequest request,HttpServletResponse response) throws Exception{ response.setContentType("text/html"); PrintWriter out = response.getWriter(); //传递List List<User> list = new ArrayList<User>(); User u1 = new User(); u1.setUsername("tom1"); u1.setAge(11); User u2 = new User(); u2.setUsername("jack"); u2.setAge(22); list.add(u1); list.add(u2); //Json返回list JSONArray jsonArray = JSONArray.fromObject(list); //返给ajax请求 out.print(jsonArray); } //返回Map @RequestMapping("/test/json3") public void returnMap(HttpServletRequest request,HttpServletResponse response) throws Exception{ response.setContentType("text/html"); PrintWriter out = response.getWriter(); Map<String,User> map = new HashMap<String,User>(); User u1 = new User(); u1.setUsername("tom1"); u1.setAge(11); User u2 = new User(); u2.setUsername("jack"); u2.setAge(22); map.put("u1", u1); map.put("u2", u2); //Json返回map JSONObject jsonObject = JSONObject.fromObject(map); //返给ajax请求 out.print(jsonObject); } }

             完成了后台代码的编写,页面上就需要获得后台传过来的Json数据,并将它显示出来,创建页面testJson.jsp

        

        <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script type="text/javascript" src="json_test/../js/jquery-1.7.1.js"></script> <title>Insert title here</title> <script type="text/javascript"> //获得User对象 function getJsonObject(){ $.ajax({ type:"POST", url:"/json_test/test/json1", dataType:"json", success:function(json){ alert(json.username); alert(json.age); }, error:function(){ alert("网络错误!"); } }); } //获得List对象 function getJsonList(){ $.ajax({ type:"POST", url:"/json_test/test/json2", dataType:"json", success:function(json){ alert(json[0].username); alert(json[1].age); }, error:function(){ alert("网络错误!"); } }); } //获得Map对象 function getJsonMap(){ $.ajax({ type:"POST", url:"/json_test/test/json3", dataType:"json", success:function(json){ alert(json.u1.username); alert(json.u2.age); }, error:function(){ alert("网络错误!"); } }); } </script> </head> <body> <input type="button" value="获得User对象" onclick="getJsonObject()"><br/> <input type="button" value="获得List" onclick="getJsonList()"><br/> <input type="button" value="获得Map" onclick="getJsonMap()"> </body> </html>

             通过以上这几个例子基本能说明Json的大致用处,他和XML的联系与区分,大家可自行查阅。

             

    文章结束给大家分享下程序员的一些笑话语录: 现在社会太数字化了,所以最好是有一个集很多功能于一身的设备!

    --------------------------------- 原创文章 By
    function和schema
    ---------------------------------

  • 相关阅读:
    6-查看centos中的用户和用户组
    23-python用BeautifulSoup用抓取a标签内所有数据
    22-python爬虫解决gbk乱码问题
    21-py3 发邮件
    20-调用百度AI的文字识别
    6-Ubuntu与Windows不能相互复制
    2018.4.18 Ubuntu 的telnet命令详解
    2018.4.17 java多线程练习二模拟开场仪式进场
    2018.4.16 Java多线程实现龟兔赛跑
    2018.4.15 Mac系统下如何使用StartUml画好需求分析的类图 (同样适用于windows)
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3109101.html
Copyright © 2011-2022 走看看