如何将JavaScript对象(JSON)转换为JSV格式?

时间:2014-09-03 13:00:47

标签: javascript json servicestack servicestack-text

我希望在将ajax请求发送到ServiceStack服务时使用JSV而不是JSON来节省带宽。

我有以下JSON数据:

[{"201":"New York","022":"Chicago"}]

我想将其转换为以下JSV格式:

[{201:New York,022:Chicago}]

有没有办法简单地做到这一点?我不确定处理它的最佳方法是什么;但根据我的知识/理解,我需要使用:(冒号)和,(逗号)拆分字符串,并需要循环它。但我担心这不会导致角色逃脱。是否有可用于解析JSV格式的官方JavaScript库 - 我找不到一个?

1 个答案:

答案 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浏览器中而没有开销。