我希望在将ajax请求发送到ServiceStack服务时使用JSV而不是JSON来节省带宽。
我有以下JSON数据:
[{"201":"New York","022":"Chicago"}]
我想将其转换为以下JSV格式:
[{201:New York,022:Chicago}]
有没有办法简单地做到这一点?我不确定处理它的最佳方法是什么;但根据我的知识/理解,我需要使用:
(冒号)和,
(逗号)拆分字符串,并需要循环它。但我担心这不会导致角色逃脱。是否有可用于解析JSV格式的官方JavaScript库 - 我找不到一个?
答案 0 :(得分:7)
除了JSV格式保存的少量字节之外,JSV优于JSON有什么优势吗?
JSV可用于在GET请求中发送复杂类型,但使用JSON是不可能的。 Some of these other answers,显示使用JSV在GET请求中发送复杂类型。
我们是否有任何JavaScript库或函数来解析JSV?
JavaScript can be found here的官方JSV库。它还包括用JavaScript实现的JsvServiceClient
。
我不确定处理它的最佳方法是什么,但根据我的知识/理解,我们需要使用:(冒号)和(逗号)拆分字符串,并需要循环遍历它。
使用上面的库并避免自己解析它。
反序列化用法:
JSV.parse("<JSV String>");
序列化用法:
var myObject = {Id: 123, Test: [1,2,3]};
JSV.stringify(myObject);
我计划使用JSV而不是JSON格式来节省带宽
除非您计划使用异常大的数据集,否则可以通过发送JavaScript JSV解析库来处理请求来消除使用JSV的节省。官方JSV库,缩小了15KB或缩小了大约8KB。请记住,JSON支持已经内置到Web浏览器中而没有开销。