Json数据交互格式介绍和比较

1、什么是数据交互格式?

  就是客户端和服务端进行信息传输的格式(xml和json),双方约定用什么格式进行传输,然后解析得到自己想要的值

  xml扩展标记语言,属于重量级(第一占宽带、第二解析难)

  json属于轻量级的数据交互格式(不占宽带,解析很简单)

2、xml和json优缺点

  xml优点:格式统一,符合标准;容易与其它系统进行远程交互,数据共享比较方便

  xml缺点:xml文件庞大,文件格式复杂,传输占宽带;

        服务器和客户短需要话费大量代码来解析xml,导致服务器和客户端代码变得异常复杂且不易维护;

        客户端不同浏览器之间解析xml的方式不一致,需要重复编写很多代码;

        服务器和客户端解析xml花费很多的资源和时间

  json优点:数据格式比较简单,易于读写,格式都是压缩的,占用宽带小;

       易于解析;

       支持多种语言,便于服务器的解析;

       fastjson和jackson可以将json数据和对象互转

       json格式能直接为服务器代码使用,大大简化了服务器和客户端的代码开发量,并且易于维护

  json缺点:json格式目前在Web Service中推广还属于初级阶段

3、创建json格式数据

package com.cppdy;

import java.util.ArrayList;
import java.util.List;

import com.alibaba.fastjson.JSONObject;

public class JsonTest {

    public static void main(String[] args) {
        JSONObject contry=new JSONObject();
        JSONObject province1=new JSONObject();
        JSONObject province2=new JSONObject();
        List<String> cityList1=new ArrayList<String>();
        List<String> cityList2=new ArrayList<String>();
        List<JSONObject> provinceList=new ArrayList<JSONObject>();

        cityList1.add("广州");
        cityList1.add("佛山");
        cityList1.add("深圳");

        province1.put("name", "广东");
        province1.put("citys", cityList1);

        cityList2.add("南京");
        cityList2.add("苏州");
        cityList2.add("无锡");
        province2.put("name", "江苏");
        province2.put("citys", cityList2);
        provinceList.add(province1);
        provinceList.add(province2);

        contry.put("name", "中国");
        contry.put("provinces", provinceList);

        System.out.println(contry.toJSONString());

    }

}

原文地址:https://www.cnblogs.com/cppdy/p/10029128.html

时间: 11-27

Json数据交互格式介绍和比较的相关文章

ASP.NET MVC 4 中的JSON数据交互

前台Ajax请求很多时候需要从后台获取JSON格式数据,一般有以下方式: 拼接字符串 return Content("{\"id\":\"1\",\"name\":\"A\"}"); 为了严格符合Json数据格式,对双引号进行了转义. 使用JavaScriptSerialize.Serialize()方法将对象序列化为JSON格式的字符串 MSDN 例如我们有一个匿名对象: var tempObj=new

springMVC学习(11)-json数据交互和RESTful支持

一.json数据交互: json数据格式在接口调用中.html页面中较常用,json格式比较简单,解析还比较方便. 比如:webservice接口,传输json数据. springMVC进行json交互 1)环境准备: 加载json转换的jar包: springmvc中使用jackson的包进行json转换(@requestBody和@responseBody使用下边的包进行json转) jackson-core-asl-1.9.11.jar jackson-mapper-asl-1.9.11.

SpringMvc的JSON数据交互

为什么要进行json数据交互 json数据交互在接口调用中.html页面中较常用,json格式比较简单,解析还比较方便. 比如webservice接口,传输json数据. 1.如果客户端传输的是json串的话 那么会使用一个注解 @RequestBody  来将json串转成java对象 @ResponseBody 来将java对象转成json串输出 2.如果客户端传输的是key/value串的话 那么会就不需要@RequestBody  因为不需要转 但是还是用 @ResponseBody 来

【SpringMVC学习09】SpringMVC与前台的json数据交互

json数据格式在接口调用中.html页面中比较常用,json格式比较简单,解析也比较方便,所以使用很普遍.在springmvc中,也支持对json数据的解析和转换,这篇文章主要总结一下springmvc中如何和前台交互json数据. 1. 两种交互形式 springmvc和前台交互主要有两种形式,如下图所示: 可以看出,前台传过来的方式有两种,一种是传json格式的数据过来,另一种就是在url的末尾传普通的key/value串过来,针对这两种方式,在controller中会有不同的解析,但是在

iOS 中 JSON 数据交换格式

     JSON (JavaScript Object Notation)是一种轻量级的数据交换格式.JSON 的具体教程,可以参见 JSON 中国:http://www.json.org.cn/index.htm ,当然还有 JSON 在线校验格式化工具:http://www.bejson.com/ ,希望深入学习 JSON 可以参考其他教程.JSON 的轻量级是相对于 XML 文档结构而言的,描述项目字符少,所以描述相同的数据所需的字符个数要少,当然传输的速度就会提高而流量也会减少.  

SpringMVC的JSON数据交互(七)

[email protected]   (自动将请求的数据封装为对象) 作用: @RequestBody注解用于读取http请求的内容(字符串),通过springmvc提供的HttpMessageConverter接口将读到的内容(json数据)转换为java对象并绑定到Controller方法的参数上. 传统的请求参数: itemEdit.action?id=1&name=zhangsan&age=12 现在的请求参数: 使用POST请求,在请求体里面加入json数据 { "i

javascript通过json数据按格式生成一个按字母分类排序的分类信息表

效果图如下 1.json数据格式 var _people=[{name:'朱瑞',url:'aaaaaa',nick:'zhu'},{name:'刘桂清',url:'aaaaa',nick:'liu'}];这里按姓氏排序借用了nick,不用nick的话,需要加载一个汉字拼音对照数组,判断匹配 2.javascript代码 1 (function ($){ 2 function SortByGroup(arr,option){ 3 this.option=option; 4 this.arr=ar

关于获取JSON数据,出现格式错误的问题记录

在JSON对象中,可以再次嵌套JSON对象字符串,若根据JSONObejct.getLong() / JSONObejct.getString()时只能获取当前层级的数据,否则会出现JSON格式异常,若想要获取下一级的字段信息,则需要获取下一级字段的整体信息,再将其转换为JSONObject对象,再调用JSONObejct.getLong() / JSONObejct.getString() 来获取相关的数据.

json数据的格式

JSON的具体形式 1.对象是一个无序的"'名称/值'对"集合.一个对象以"{"开始,以"}"结束.每个"名称"后跟一个":","'名称/值'对"之间使用","分隔. 举个例子: { name:"张三" , password:"123456" , department:"技术部" , sex:"男&

Json数据时间格式的处理

方法: 1 using Newtonsoft.Json; 2 using Newtonsoft.Json.Converters;//需引入Newtonsoft.Json.dll 3 public class ConvertHelper 4 { 5 /// <summary> 6 /// 将对象转成json格式并格式化日期:yyyy-MM-dd 7 /// </summary> 8 /// <param name="jsonObject"></p