`
deer
  • 浏览: 86439 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

JSON介绍

    博客分类:
  • ajax
阅读更多
☆JSON介绍
引用
http://tjbmx0987.iteye.com/blog/225755

     JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。(官方网站http://www.json.org)

☆JSON语法
     JSON的语法很简单,就是使用大括号'{}',中括号'[]',逗号',',冒号':',双引号'“”'。数据类型:嵌套对象、数组、字符串、数字、布尔值或空值(来自官方网站http://www.json.org/json-zh.html)

     1)对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。

     2)数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。

     3)值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。

     4)字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。 字符串(string)与C或者Java的字符串非常相似。

     5)数值(number)也与C或者Java的数值非常相似。除去未曾使用的八进制与十六进制格式。除去一些编码细节。

    ☆JSON优势
     1)简洁明了,操作方便(对比XML)
     JSON和XML都是基于文本的,两者都使用Unicode编码。JSON和XML都很容易阅读。主观上,JSON更清晰,冗余更少。XML适合标记文档(配置文件),JSON更适合数据交换。

     ☆JSON操作
     1)JSON字符串转换成JAVAScript对象(调用eval()[JSON本来就是JS的一个子集,所以可以使用JS的解释器])
<script>   
  var my_json='{"FBI":[{"name":"rose","age":"25"},{"name":"jack","age":"25"}],"NBA":[{"name":"tom","sex":"man"},{"name":"jack","sex":"women"}]}';   
  var my_object=eval('('+my_json+')');   
  document.writeln(my_object.FBI[1].name);   
</script> 

  上面的代码也可省略属性的双引号,如下  
 
<script>   
  var my_json='{FBI:[{name:"rose",age:"25"},{name:"jack",age:"25"}],NBA:[{name:"tom",sex:"man"},{name:"jack",sex:"women"}]}';   
  var my_object=eval('('+my_json+')');   
  document.writeln(my_object.FBI[1].name);   
</script>  

  2)将JS对象转换成JSON字符串(调用toJSONString,需要下载json.js[http://www.json.org/json.js])

 <script src="json.js"></script>   
<script>   
var my_object={   
    FBI:[   
    {name:"rose",age:"25"},   
    {name:"jack",age:"25"}   
    ],   
    NBA:[   
    {name:"tom",sex:"man"},   
    {name:"jack",sex:"women"}   
    ]   
};   
document.writeln(my_object.toJSONString());   
</script>
 

3)XML与JSON转换(需要下载json.org提供的JAVA类,json.zip[http://www.json.org/java/json.zip]),代码如下: JAVA实现XML与JSON之间的转换


package woxingwosu;   
  
import java.io.BufferedReader;   
import java.io.BufferedWriter;   
import java.io.FileReader;   
import java.io.FileWriter;   
  
import org.json.JSONObject;   
import org.json.XML;   
  
public class XMl2JSON {   
  
  
    public static void main(String[] args) {   
        BufferedReader buffRed=null;   
        BufferedWriter buffWri=null;   
        try{   
            //将XML转换成JSON   
            String fileName1="woxingwosu.xml";   
            buffRed=new BufferedReader(new FileReader(fileName1));   
            String tempStr;   
            StringBuffer xmlStrBuff=new StringBuffer();   
            while((tempStr=buffRed.readLine())!=null)   
                xmlStrBuff.append(tempStr);   
            System.out.println("JSON str="+XML.toJSONObject(xmlStrBuff.toString()));   
               
            //将JSON转换成XML   
            String jsonStr="{Heros:{FBI:[{name:\"rose\",age:\"25\"},{name:\"jack\",age:\"25\"}],NBA:[{name:\"tom\",sex:\"man\"},{name:\"jack\",sex:\"women\"}]}};";   
            String fileName2="myxml.xml";   
            buffWri=new BufferedWriter(new FileWriter(fileName2));   
            JSONObject jsonObj=new JSONObject(jsonStr);   
            buffWri.write("<?xml version=\"1.0\" encoding=\"GBK\"?>");   
            buffWri.newLine();   
            buffWri.write("<!DOCTYPE properties SYSTEM \"http://java.sun.com/dtd/properties.dtd\">");   
            buffWri.newLine();   
            buffWri.write(XML.toString(jsonObj));   
            buffWri.flush();   
               
            System.out.println("run end!");   
        }catch(Exception e){   
            e.printStackTrace();   
        }finally{   
            try{   
                if(buffRed!=null)   
                    buffRed.close();   
                if(buffWri!=null)   
                    buffWri.close();   
            }catch(Exception e){   
                e.printStackTrace();   
            }   
        }   
    }   
}  

woxingwosu.xml
<?xml version="1.0" encoding="GBK"?>    
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">    
<properties>    
<entry key="no">woxingwosu</entry>    
<entry key="name">我行我素</entry>    
</properties> 输出结果: xml2json结果   
JSON str={"properties":{"entry":[{"key":"no","content":"woxingwosu"},{"key":"name","content":"我行我素"}]}}json2xml结果   
<?xml version="1.0" encoding="GBK"?>  
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">  
<Heros><NBA><sex>man</sex><name>tom</name></NBA><NBA><sex>women</sex><name>jack</name></NBA><FBI><age>25</age><name>rose</name></FBI><FBI><age>25</age><name>jack</name></FBI></Heros>  

  4)AJAX中运用JSON(比使用DOM解析XML简单) 一个在AJAX中运用JSON的简单例子
  在响应的程序中输入返回的值:

  out.println("{FBI:[{name:\"rose\",age:\"25\"},{name:\"jack\",age:\"25\"}],NBA:[{name:\"tom\",sex:\"man\"},{name:\"jack\",sex:\"women\"}]}");
  在页面上(点确定页面上会显示jack)
<script language="javascript" src="js/prototype.js"></script>   
<input type="button" onclick="loadInfo()" value="确定"/>   
<script>   
function loadInfo(){   
    new Ajax.Request("hello",{   
            onComplete:function(req){   
                var res=eval("("+req.responseText+")");   
                $('mydiv').innerHTML=res.FBI[1].name;   
            }   
        }   
    );   
}   
</script>   
<div id="mydiv"></div>  

4)Java中运用Json(需要下载json的java开发包) Java中运用Json
package callCenterServer;   
  
import java.util.ArrayList;   
import org.json.JSONArray;   
import org.json.JSONObject;   
  
  
public class Test {   
  
    /**  
     * @param args  
     */  
    public static void main(String[] args) throws Exception{   
        ArrayList<Area> areas=new ArrayList<Area>();   
        areas.add(new Test.Area("福建","福州"));   
        areas.add(new Test.Area("福建","厦门"));   
        areas.add(new Test.Area("福建","泉州"));   
        areas.add(new Test.Area("四川","成都"));   
        areas.add(new Test.Area("四川","攀枝花"));   
        JSONObject jsonObject=new JSONObject();   
        for(Test.Area area:areas){   
            if(jsonObject.has(area.province)){   
                JSONArray jsonArray=(JSONArray)jsonObject.get(area.province);   
                jsonArray.put(area.city);   
            }else{   
                JSONArray jsonArray=new JSONArray();   
                jsonArray.put(area.city);   
                jsonObject.put(area.province, jsonArray);   
            }   
        }   
        System.out.println(jsonObject);   
    }   
       
    static class Area{   
        private final String province;   
        private final String city;   
        Area(String province,String city){   
            this.province=province;   
            this.city=city;   
        }   
    }   
       
}  

输出结果   
{"四川":["成都","攀枝花"],"福建":["福州","厦门","泉州"]}  

http://tjbmx0987.iteye.com/blog/225755
分享到:
评论

相关推荐

    json介绍

    博文链接:https://qqwyy.iteye.com/blog/200123

    JSON介绍.docx

    JSON介绍 JSON(JavaScript 对象表示法)是一种轻量级的数据交换格式,易于人类读写,机器也易于解析和生成。它基于 JavaScript 编程语言标准 ECMA-262 第三版(1999 年 12 月)的子集,是一种文本格式,完全独立于...

    json介绍和应用场景.go

    json介绍和应用场景

    json介绍和ajax的搭配

    json介绍更好的与ajax搭配是一款不错的数据格式转换文件

    简单实用的json介绍教程

    简单实用的json介绍教程

    extjs入门教程介绍,GRID,json介绍

    extjs入门教程 extjs入门教程介绍,GRID,json介绍

    json 介绍及资料

    JSON,全称JavaScript Object Notation,是一种轻量级的数据交换格式。它采用完全独立于语言的文本格式,但也使用了类似于C家族语言(包括C、C++、C#、Java、JavaScript、Perl、Python等)的习惯,这些特性使JSON...

    001-JSON介绍

    JSON,全称JavaScript Object Notation,是一种轻量级的数据交换格式,因其简洁和高效而广泛应用于Web服务和客户端之间的数据传输。JSON的设计目标是人可读、机器可解析,其语法源自JavaScript,但同时被设计成语言...

    python 17、AJAX异步 2-2_使用AJAX发送POST请求、JSON介绍、JSON在前后端的处理.mp4

    python 17、AJAX异步 2-2_使用AJAX发送POST请求、JSON介绍、JSON在前后端的处理.mp4

    JSON介绍-Ajax数据传输形式

    介绍了AJax中传输数据的一种新形式:JSON

    JSON 介绍

    JSON,全称JavaScript Object Notation,是一种轻量级的数据交换格式,源于ECMAScript语言标准,主要用于在网络上传输数据。由于其简洁、易读、易编写,并且与多种编程语言兼容,因此在现代Web开发中广泛应用。 ...

    js中对象和面向对象与Json介绍

    JSON对象可以通过`JSON.parse()`方法从JSON字符串转换成JavaScript对象,反之,`JSON.stringify()`方法可以将JavaScript对象转换成JSON字符串。例如: ```javascript // JSON字符串 var jsonString = '{"firstname...

    ajax+json实例

    **二、JSON介绍** JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript的一个子集,数据格式直观,可以直接被JavaScript解析为对象。JSON格式的基本结构包括对象(键值...

    JSON介绍——一种轻量级的数据交换格式

    JSON是一种轻量级的数据交换格式。所谓轻量级,一是指这种格式不需要特定的容器,二是运行时占用很少的资源。JavaScript语言可以直接读取JSON数据格式的内容,所以在Web2.0中JSON有着广泛的应用。

    Json数据格式协议C#解析方法

    #### 一、Json介绍 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它源自于ECMAScript的一个子集,旨在提供一种简单且高效的方式来处理数据。JSON的数据格式是文本形式,这意味着它可以独立于...

    JSON完整使用教程

    ##### 1.1 JSON介绍 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它被广泛用于服务端与客户端之间的数据交互。JSON基于ECMAScript规范的一个子集,采用了一种完全独立于编程语言的文本格式来...

    ajax + json 练习

    2. **JSON介绍**: - **数据格式**:JSON是一种轻量级的数据格式,由大括号{}包围的对象和方括号[]包围的数组组成,键值对以冒号分隔,每个元素之间以逗号分隔。 - **易读性**:JSON的语法与JavaScript对象相似,...

Global site tag (gtag.js) - Google Analytics