JSON和XML都是基于文本的,两者都使用Unicode编码。JSON和XML都很容易阅读。主观上,JSON更清晰,冗余更少。XML适合标记文档(配置文件),JSON更适合数据交换。
JSON操作
1)JSON字符串转换成JAVAScript对象(调用eval()[JSON本来就是JS的一个子集,所以可以使用JS的解释器])
- 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();
- }
- }
- }
- }
JSON和XML是一种有用的、轻量级协议,现在可用于 PHP V5.2,它可以轻松地实现从 PHP 应用程序中提取出数据,并将其放入 Ajax 应用程序的过程。相应地,PHP 中的 JSON 同样也是轻量级且十分有用的,只包含两个易于使用的函数。使用这些函数,我们可以转换和导出对象结构,还可以使用 json_encode() 使来自 PHP 数据库连接的数据可用于 Ajax 应用程序。
在 Ajax 应用程序中处理完数据后,可以将数据返回 PHP 脚本并用 json_decode() 重新创建可用的对象数据结构。当把数据返回到 PHP 后,我们可以将其存储到数据库中,或使用JSON和XML提供的众多选择中的任何其他数据处理方法。