`
leebai
  • 浏览: 64342 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

一个简单的JSON-ext,对很常见的列表数据,可以节省将近50%的网络带宽

阅读更多
常见的列表数据,标准JSON表达法为:


 var locations = [
      {
         "precision": "zip",
         "Latitude":  37.7668,
         "Longitude": -122.3959,
         "Address":   "",
         "City":      "SAN FRANCISCO",
      },
      {
         "precision": "zip",
         "Latitude":  37.371991,
         "Longitude": -122.026020,
         "Address":   "",
         "City":      "SUNNYVALE",
      }
   ];



略微改进的写法:



function location(p1,p2,p3,p4,p5){
  this.precision = p1;
  this.Latitude = p2;
  this.Longitude = p3;
  this.Address = p4;
  this.City = p5;
} 

var locations = [
  new location("zip",37.7668,-122.3959,"","SAN FRANCISCO"),
  new location("zip",37.371991,"","SUNNYVALE")
]



客户端访问数据方式与原先一样。

当然,非javascript的客户端不一定支持这种写法,自己权衡是否值得采用。

这是7wxAop采用的格式,不知道为什么JSON不支持。
分享到:
评论
7 楼 leebai 2007-05-17  
myy 写道
对于我来说,你说的“标准JSON表达法”我也没用到过,我采用下面的结构,主要是用于 ResultSet => Json

{
  "meta" : [
    {"name" : "ID", "type" : "VARCHAR2"...},
    {"name" : "NAME", "type" : "VARCHAR2"...}
  ]
  "data" : [
    ["123","abc"],
    ["124","xyz"]
  ]
}



呵呵,同道中人,7wxAop中也有这种 二维数组 + ResultSetMeta 的输出。

6 楼 myy 2007-05-17  
对于我来说,你说的“标准JSON表达法”我也没用到过,我采用下面的结构,主要是用于 ResultSet => Json

{
  "meta" : [
    {"name" : "ID", "type" : "VARCHAR2"...},
    {"name" : "NAME", "type" : "VARCHAR2"...}
  ]
  "data" : [
    ["123","abc"],
    ["124","xyz"]
  ]
}
5 楼 leebai 2007-05-17  
sp42 写道
如果有N多的参数,这不是一个好的结构


有什么问题吗?
4 楼 leebai 2007-05-17  
myy 写道
好是好,但好像不能 直接 eval()


可以的,都是javascript标准语法
3 楼 hgq0011 2007-05-17  
这个更像面向对象的方式。更容易理解。
2 楼 sp42 2007-05-17  
如果有N多的参数,这不是一个好的结构
1 楼 myy 2007-05-17  
好是好,但好像不能 直接 eval()

相关推荐

    json-lib-ext-spring-1.0.2.jar

    json-lib-ext-spring-1.0.2.jarjson-lib-ext-spring-1.0.2.jarjson-lib-ext-spring-1.0.2.jar

    php-json-ext-1.2.1.tar.bz2

    php-json-ext源码包,先确认系统上是否安装了php-devel 软件,如果没有安装就必须安装,否则,不能编译安装php-dson-ext!

    php-json-ext-1.2.1.rar

    描述提到"Cacti是一个网络监控和性能图形化工具,如果没有JSON扩展,NPC的界面不会显示,只会看到一个空白页面。"这表明在Cacti中,NPC(可能是指网络性能控制台)依赖于JSON扩展来解析或生成数据,以呈现其用户界面...

    AnyFo - Util - Json4Ext:通用ExtJS数据交换处理

    Json4Ext是“AnyFo – Util”项目下的一个子项目,他提供了多个工具包,它让开发者轻松的通过构建一些简单的Java类,然后自动的将 这些Java类生成符合Ext要求的各种Json格式的字符串。 Json4Ext类简介 在Json4...

    json-ext:一组扩展JSON使用的实用程序。 专为快速且高效存储而设计

    json-ext 一组扩展JSON使用的实用程序。 专为快速且高效存储而设计 特征: parseChunked() –解析块(例如FS可读流或获取响应流)附带的JSON stringifyStream() –字符串化流(Node.js) stringifyInfo() –在不...

    中文指代消解:基于HFL的预训练模型chinese-roberta-wwm-ext,训练评测CLUE WSC2020数据集

    中文指代消解是自然语言处理中的一个重要任务,它的目标是理解文本中代词或名词短语所指的具体对象。在中文环境中,由于语言的复杂性和歧义性,这一任务更具挑战性。预训练模型在近年来已经成为解决这个问题的有效...

    chinese-bert-wwm-ext.rar

    总的来说,哈工大团队的Chinese-BERT-wwm-ext为中文NLP提供了一个强大且灵活的工具,它在PyTorch框架下的实现使得开发者能够便捷地应用于各类任务,进一步推动了中文自然语言处理技术的发展。对于研究者和实践者来说...

    chinese-roberta-wwm-ext.rar

    RoBERTa(Robustly Optimized BERT Pretraining Approach)是BERT(Bidirectional Encoder Representations from Transformers)模型的一个重要改进版本,由阿里云的研究团队提出。而Chinese RoBERTa-wwm-ext则是...

    Openlayers扩展插件ol-ext ,2022年4月版本v3.2.23

    OpenLayers 是一个流行的开源JavaScript库,用于在Web浏览器中创建交互式地图应用。它支持多种数据源和图层类型,提供了丰富的地图操作功能。而ol-ext是针对OpenLayers的一个扩展插件,它增加了许多额外的功能和视觉...

    Android/SDK/Platforms/android-33-ext5

    在给定的压缩包“Android/SDK/Platforms/android-33-ext5”中,我们关注的是Android SDK的一个特定部分——Android平台版本33,特别强调了"ext5"扩展。以下是对这些知识点的详细解释: 1. **Android SDK**: Android...

    jcifs-ext-0.9.4.jar

    解压即可得到jcifs-ext-0.9.4.jar, java环境资源,jdk1.6及以上

    Android/SDK/Platforms/android-34-ext8

    在本案例中,我们关注的是"android-34-ext8"这一特定的平台版本,它对应于Android操作系统的一个特定版本,可能是Android 12L或者更新的版本。"ext8"可能是指该版本支持扩展的文件系统类型,如F2FS(Flash-Friendly ...

    Android SDK (SDK Platforms)-android-33-ext5.zip

    ext5是Android 33中的一个扩展,它可能是对现有文件系统的改进或增强。在Android系统中,文件系统是管理和组织数据的核心组件,对于应用程序的运行和数据存储至关重要。ext5可能包含更快的读写速度、更高的数据完整...

    支持php5.3.3的php-js-ext 0.1.2扩展

    `php-js-ext` 是一个专门为PHP设计的扩展,它的目标是提供一种简单的方式来处理JavaScript对象和数据结构,以便在服务器端的PHP和客户端的JavaScript之间进行数据交换。在0.1.2版本中,开发者针对PHP 5.3.3进行了...

    bcprov-ext-jdk15on-152和bcprov-jdk15on-152

    标题中的"bcprov-ext-jdk15on-152"和"bcprov-jdk15on-152"是两个与Bouncy Castle库相关的Java档案文件,它们主要用于提供加密和安全服务。Bouncy Castle是一个开源的Java安全提供者,广泛用于密码学应用,包括加密、...

    vswd-ext_2.0.2.zip_vswd-ext_2.0.2.js_网vswd

    标题中的“vswd-ext_2.0.2.zip_vswd-ext_2.0.2.js_网vswd”表明这是一个与“vswd-ext”相关的JavaScript库或插件,版本号为2.0.2,可能是用于Windows平台,并且与一个名为“网vswd”的网络提示工具有关。这个压缩包...

    fuse-ext2-0.0.7

    综上所述,fuse-ext2-0.0.7是Linux系统中一个重要的文件系统桥接工具,它扩展了Linux对EXT2和NTFS的支持,使得用户可以在Linux环境中无缝地挂载和管理这些非原生文件系统。通过FUSE的用户空间文件系统实现,它降低了...

    bcprov-ext-jdk15on-1.52和bcprov-jdk15on-1.52

    版本号1.52表示这是Bouncy Castle库的一个特定版本,它可能包含对之前版本的错误修复、性能提升以及新功能的添加。使用最新版本的库通常是推荐的,因为它们通常提供了更好的安全性和兼容性。 4. **在Maven中的使用...

Global site tag (gtag.js) - Google Analytics