• 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
    ---------------------------------

  • 相关阅读:
    ZOJ Problem Set–2417 Lowest Bit
    ZOJ Problem Set–1402 Magnificent Meatballs
    ZOJ Problem Set–1292 Integer Inquiry
    ZOJ Problem Set–1109 Language of FatMouse
    ZOJ Problem Set–1295 Reverse Text
    ZOJ Problem Set–1712 Skew Binary
    ZOJ Problem Set–1151 Word Reversal
    ZOJ Problem Set–1494 Climbing Worm
    ZOJ Problem Set–1251 Box of Bricks
    ZOJ Problem Set–1205 Martian Addition
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3109101.html
Copyright © 2020-2023  润新知