Web前后端Json格式交互

接口返回的数据格式一般有两种,一个XML格式,一种是Json格式。目前Json格式比较多人使用,也比较方便易用。JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。


Web前端交互XML格式与Json格式的优缺点:

XML
使 用XML作为传输格式的优势:
1. 格式统一, 符合标准
2. 容易与其他系统进行远程交互, 数据共享比较方便

缺点:
1. XML文件格式文件庞大, 格式复杂, 传输占用带宽
2. 服务器端和客户端都需要花费大量代码来解析XML, 不论服务器端和客户端代码变的异常复杂和不容易维护
3. 客户端不同浏览器之间解析XML的方式不一致, 需要重复编写很多代码
4. 服务器端和客户端解析XML花费资源和时间

[ JSON ]
优点:
1. 数据格式比较简单, 易于读写, 格式都是压缩的, 占用带宽小
2. 易于解析这种语言, 客户端JavaScript可以简单的通过eval()进行JSON数据的读取
3. 支持多种语言, 包括ActionScript, C, C#, ColdFusion, Java,JavaScript, Perl, PHPpython, Ruby等语言服务器端语言, 便于服务器端的解析
4. 因为JSON格式能够直接为服务器端代码使用, 大大简化了服务器端和客户端的代码开发量, 但是完成的任务不变, 且易于维护




Jayrock

Jayrock是一个LGPL的开源的软件,实现了JSON和JSON-RPC,支持微软ASP.NET框架。

引用Jayrock.dll后,可在C#里可以将实体类转换为Json格式的字符串,也可以将Json字符串转换为实体类。

 

使用:

User实体类:

public class User
    {
        public int ID { get; set; }

        public string UserName { get; set; }

        public string Pass { get; set; }

        public DateTime AddDate { get; set; }
    }

将实体类转为为Json格式字符串:

User user = new User() { ID =1, UserName="amao", Pass="mypass", AddDate=DateTime.Now};

Jayrock.Json.JsonTextWriter writer = new Jayrock.Json.JsonTextWriter();
Jayrock.Json.Conversion.JsonConvert.Export(user, writer);
string result=writer.ToString();


Result:

{"iD":1,"userName":"amao","pass":"mypass","addDate":"2017-08-06T19:21:45.5598724+08:00"}


将Json格式字符串转为实体类:

string str = "{\"iD\":1,\"userName\":\"amao\",\"pass\":\"mypass\",\"addDate\":\"2017-08-06T19:21:45.5598724+08:00\"}";
User user = (User)Jayrock.Json.Conversion.JsonConvert.Import(typeof(User), str);//json字符串转对象
有时候日期格式的字段会因为格式不对,报“ {"字符串“2017 - 08 - 06T22: 58:57.2977026 + 08:00”不是有效的 AllXsd 值。"}”。这是因为里面有空格而导致转换失败。
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值