`
skylovehero
  • 浏览: 30844 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JSON-RPC1

阅读更多
JSON (JavaScript Object Notation) 很显然是 JSON-RPC-Java 的基础,它是基于javascript的一种简单易读的轻量级数据交换格式。它的主页在这里。

    如果不熟悉Javascript,那么理解JSON则有一些困难。在这里我要先引入“直接量(Literals)”这个javascript概念。很不幸,我很难找到一篇中文的文章介绍它,好不容易在Lycos的中文网站上发现一份,但是只能通过 google 的网页快照来访问了,参见 《JavaScript 的直接量》。

    简单说,如果我们要 javascript 创建一个对象,通常情况下可能会这样写:
   
    function Person(name, sex) {
        this.name = name;
        this.sex = sex;
    }
    var p = new Person('zhaozexin', 1);
    alert(p.name);

    从Javascript 1.2开始,创建一个对象有了一种相当快捷的语法,如下:
     var p = {"name": 'zhaozexin', "sex" : 1};
      
    这一句就是对象的“直接量”。这样的语法很象java中的Map里toString()方法的输出。name 就是 key, 'zhaozexin' 就是 value。和Map一样,value除了可以是字符串或者数字以外,还可以是数组,函数或者其他对象。 再说说数组,常见的数组声明如下:
    var a = new Array();
    a[0] = 'zhaozexin';
    a[1] = 1;
    或者 var a = new Array('zhaozexin', 1);

    数组的直接量 如下: var a = ['zhaozexin', 1];  是否觉得也很象 ArrayList 的toString() 方法输出呢。javascript 何以叫 Javascript,那不是没有道理的。

    除了代码的简化以外,直接量还有什么好处呢。我们就要关注 eval (codeString) 这个javascript内置函数了,它接受一个字符串参数,当作javascript的代码去解析并执行。所以eval 函数允许 javascript 源代码的动态执行。例如,下面的代码创建了一个包含 Date 对象的新变量 mydate :eval("var mydate = new Date();")。那么如果我们把“直接量” 作为参数传递给 eval函数,那么就可以动态的创建各式各样的对象了。

    更详细的直接量的介绍,可以阅读 《Javascript 权威指南》,我强烈推荐这本书给所有从事web编程的同行。
   
    现在 JSON 应该容易理解了,它的语法实际就是 javascript 的“直接量”。所以 JSON 的介绍上这样写:
   
    JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages, including C, C++, C#, Java, JavaScript, Perl, TCL, and many others. These properties make JSON an ideal data-interchange language.

     这诸多的语言实现 JSON 的工作就相当简单了,就仿佛做一个字符串处理程序一样。那么JSON-RPC-Java 我们就可以猜出了大概了:
    由java实现一个JSON的服务端与web程序中的 javascript(实现JSON的客户端)通过XMLHttpRequest 交换数据,而数据的格式便是javascript“直接量” 的格式,java服务端分析请求,执行然后依据同样的格式返回结果。很明显,这就是 Xml-RPC 的 javascript 版本。javascript 语法的灵活省却了解析xml的繁杂。javascript 让我如何能不爱你!

    外套已经脱完。IT界永远都是春天,衣服不会穿很多的。
分享到:
评论

相关推荐

    json-rpc.jar 和 jsonrpc.js

    JSON-RPC-Java是一个用Java来实现动态JSON-RPC的框架. 利用它内置的一个轻级量JSON-RPC JavaScripIt客户端,可以让你透明地在JavaScript中调用Java代码。JSON-RPC-Java可运行在Servlet容器中如Tomcat也可以运行在...

    JSON-RPC-Java实例

    JSON-RPC-Java是一个用Java来实现动态JSON-RPC的框架. 利用它内置的一个轻级量JSON-RPC JavaScripIt客户端,可以让你透明地在JavaScript中调用Java代码。JSON-RPC-Java可运行在Servlet容器中如Tomcat也可以运行在...

    android-json-rpc

    android-json-rpc是一个在android程序中使用的JSON-RPC客户端类库。它提供了一个简单的API来执行JSON-RPC服务调用

    json-rpc-for-java

    继《JavaScript高级应用与实践》之后推出的json-rpc-for-java开源代码,是仅仅100行的javascript代码和不到10个java文件实现的超级轻量级的通过 javaScript快速调用java对象并返回任意对象的轻量级框架,并且支持...

    JSON-RPC 2.0 规范(中文版)

    JSON-RPC 2.0 规范(中文版)。 JSON-RPC是一个无状态且轻量级的远程过程调用(RPC)协议。 本规范主要定义了一些数据结构及其相关的处理规则。它允许运行在基于socket,http等诸多不同消息传输环境的同一进程中。其使用...

    json-rpc-java-talk-20050225.pdf

    json-rpc-java-talk-20050225.pdfjson-rpc-java-talk-20050225.pdfjson-rpc-java-talk-20050225.pdfjson-rpc-java-talk-20050225.pdf

    Json-RPC for java Example

    json-rpc-for-java,是仅仅不到100行的javascript代码和不到10个java文件实现的超级轻量级的通过 javaScript快速调用java对象并返回任意对象的轻量级框架,并且支持级联调用,也就是说不需要额外 的JavaScript编程,...

    json-rpc-1.0(with source).rar

    网上的json-rpc和它的源代码大多都不是完整的,这个里面是一一对应的,完整的源码包。里面有一个json-rpc-1.0.jar和一个json-rpc-1.0-source.jar

    JSON-RPC用户手册

    JSON-RPC用户手册

    json-rpc协议C语言版

    JSON-RPC协议的C语言版与Python语言版,源代码及示例

    JSON-RPC for Java使用说明

    JSON-RPC for Java使用说明 包括示例代码

    JSON-RPC for Java.src 2.0

    JSON-RPC for Java.src 2.0

    Json-RPC_for_Java使用说明

    JSON-RPC_for_Java使用说明

    JsonRpc-Cpp

    JsonRpc-Cpp - JSON-RPC implementation. * Copyright (C) 2008-2011 Sebastien Vincent * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser ...

    jsonrpc-frontend:前端应用程序发送 json-rpc 请求进行测试

    jsonrpc-frontend:前端应用程序发送 json-rpc 请求进行测试

    Json-RPC的PHP扩展php-ext-JsonRPC.zip

    $client = new Jsonrpc_Client(1); $client->call('http://localhost/server.php', 'addition1', array(3,5)); $client->call('http://localhost/server.php', 'addition2', array(10,20)); $client->call('...

    jabsorb1.3.2及json-rpc1.0含教程.rar

    json-rpc-java-1.0.tar.gz 老版的json-rpc 用jabsorb(json) for java编写AJAX应用程序.rar 从androidguy 的BLOG摘过来的简单教程。 支持一下原创:http://androidguy.blog.51cto.com/974126/215327

    json-rpc-python

    json-rpc-python 源文件,供学习使用

    json-lib和json-rpc jar包

    json-rpc-1.0.jar和json-lib-2.1-jdk15.jar jar包,亲测可用

    JSON-RPC使用手册.

    JSON-RPC是 JavaScript Object Notation–RPC的简称,利用JSON-RPC可以调用服务器端 Java 对象。JSON-RPC是一种轻量级远程过程调用协议,在此协议中,JSON 可以连续请求和响应。向远程服务发送请求可以调用远程方法...

Global site tag (gtag.js) - Google Analytics