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

Shi*_*ljo 3 javascript json servicestack servicestack-text

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

我有以下JSON数据:

[{"201":"New York","022":"Chicago"}]
Run Code Online (Sandbox Code Playgroud)

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

[{201:New York,022:Chicago}]
Run Code Online (Sandbox Code Playgroud)

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

Sco*_*ott 8

除了JSV格式保存的少量字节之外,JSV优于JSON有什么优势吗?

JSV可用于在GET请求中发送复杂类型,这是使用JSON无法实现的.其中一些答案显示了使用JSV在GET请求中发送复杂类型.

我们有解析JSV的JavaScript库或函数吗?

可以在此处找到适用于JavaScript的官方JSV库.它还包括一个JsvServiceClient用JavaScript实现的.

我不确定处理它的最佳方法是什么,但根据我的知识/理解,我们需要使用:(冒号)和(逗号)拆分字符串,并需要循环它.

使用上面的库并避免自己解析它.

反序列化用法:

JSV.parse("<JSV String>");
Run Code Online (Sandbox Code Playgroud)

序列化用法:

var myObject = {Id: 123, Test: [1,2,3]};
JSV.stringify(myObject);
Run Code Online (Sandbox Code Playgroud)

我打算使用JSV而不是JSON格式来节省带宽

除非您计划使用异常大的数据集,否则可以通过发送JavaScript JSV解析库来处理请求来抵消使用JSV的节省.官方JSV库,缩小了15KB或缩小了大约8KB.请记住,JSON支持已经内置到Web浏览器中而没有开销.