最近看了一本叫 《Foundations of Ajax》中文译作《Ajax基础教程》的书,书中提到JSON,第一次接触不太清楚,书中说JSON有专门针对Java和javascript的类包和js文件。就到www.json.org上扫了一下。东西找到了,感觉好像不太好用。java的类包是json-lib-0.7.1.jar package不是书上的org.json
而是net.sf.json 这个问题不大,但是那个for javascript的json.js 感觉好像不全。调用时有对象JSON不存在的脚本错误。请各位高人指点一下。多谢……下面我贴一下我下载的json.js的内容。如果各位有下载这两个东西的链接请告知一下,不胜感激……

解决方案 »

  1.   

    /*
        json.js
        2006-04-28    This file adds these methods to JavaScript:        object.toJSONString()            This method produces a JSON text from an object. The
                object must not contain any cyclical references.        array.toJSONString()            This method produces a JSON text from an array. The
                array must not contain any cyclical references.        string.parseJSON()            This method parses a JSON text to produce an object or
                array. It will return false if there is an error.
    */
    (function () {
        var m = {
                '\b': '\\b',
                '\t': '\\t',
                '\n': '\\n',
                '\f': '\\f',
                '\r': '\\r',
                '"' : '\\"',
                '\\': '\\\\'
            },
            s = {
                array: function (x) {
                    var a = ['['], b, f, i, l = x.length, v;
                    for (i = 0; i < l; i += 1) {
                        v = x[i];
                        f = s[typeof v];
                        if (f) {
                            v = f(v);
                            if (typeof v == 'string') {
                                if (b) {
                                    a[a.length] = ',';
                                }
                                a[a.length] = v;
                                b = true;
                            }
                        }
                    }
                    a[a.length] = ']';
                    return a.join('');
                },
                'boolean': function (x) {
                    return String(x);
                },
                'null': function (x) {
                    return "null";
                },
                number: function (x) {
                    return isFinite(x) ? String(x) : 'null';
                },
                object: function (x) {
                    if (x) {
                        if (x instanceof Array) {
                            return s.array(x);
                        }
                        var a = ['{'], b, f, i, v;
                        for (i in x) {
                            v = x[i];
                            f = s[typeof v];
                            if (f) {
                                v = f(v);
                                if (typeof v == 'string') {
                                    if (b) {
                                        a[a.length] = ',';
                                    }
                                    a.push(s.string(i), ':', v);
                                    b = true;
                                }
                            }
                        }
                        a[a.length] = '}';
                        return a.join('');
                    }
                    return 'null';
                },
                string: function (x) {
                    if (/["\\\x00-\x1f]/.test(x)) {
                        x = x.replace(/([\x00-\x1f\\"])/g, function(a, b) {
                            var c = m[b];
                            if (c) {
                                return c;
                            }
                            c = b.charCodeAt();
                            return '\\u00' +
                                Math.floor(c / 16).toString(16) +
                                (c % 16).toString(16);
                        });
                    }
                    return '"' + x + '"';
                }
            };    Object.prototype.toJSONString = function () {
            return s.object(this);
        };    Array.prototype.toJSONString = function () {
            return s.array(this);
        };
    })();String.prototype.parseJSON = function () {
        try {
            return !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(
                    this.replace(/"(\\.|[^"\\])*"/g, ''))) &&
                eval('(' + this + ')');
        } catch (e) {
            return false;
        }
    };
      

  2.   

    学过ajax,但没用过JSON,帮你顶一下!
      

  3.   

    本公司为推广宣传公司产品,诚聘网络推广员。条件不限,只要家中有电脑,或者上班能上网的工作职员,会发邮件会利用QQ联系业务,宣传广告,信息发布,论坛发贴等方法宣传,有高额提成回报。可利用业余时间兼职,根据业绩每月最高可获报酬3000元左右。 详情请登陆:http://897288.com/?id=whui进入网站后可以点击网站上的“运作模式”,若有信心推广此网站,请联系每天8小时在线客服QQ:704757003。正式录用后赠送正版QQ好友群发软件和宣传资料。由于咨询者较多,请先看完网站内容后再做咨询,谢谢合作!