Loading...

Tag Archive for 'json'

    AD: 猛买 | 快递查询 | Jobsdigg | 很棒的男装店

SVN的301错误

我是个SVN初学者,遇到啥问题都是自己先乱点一通。若能解决那最好,若不能解决,就去搜。今天在提交更改时遇到问题,提示: PROPFIND of ‘app’: 301 Moved Permanently (http://svn.blogkid.cn) 自己开始折腾,可是没折腾好,只好去搜。找到了这里的FAQ,里面说301错误一般是由Apache配置文件不对而引起的。我突然想到昨天在DH上曾经co了一次这个项目的文件,生成的文件夹是svn.blogkid.cn,而上面那个http://svn.blogkid.cn在DH的设置里,根目录就恰好是svn.blogkid.cn。 我SSH到服务器,把那个引起冲突的文件夹改名,commit就正常了。 两件关于JSON的事。新的prototype里(v1.8.0)已经自带了toJSON()的函数,不需要用json.org上的文件了。而DH没有装ruby的json扩展,只好自己寻找趁手的解析器。我寻到一个看起来比较靠谱的,可以在这里下载。

波折:ruby解析json

最近在用rails做Lucas,遇到解析JSON的问题。在变化飞快的领域,能找到的文档、资料,一不小心就过时了。最先找到一个Geek自己写的解析,复杂的正则表达式一下就把我弄晕了。最牛的是,我把它的Parser复制过来后,居然出了语法错误。 后来在这里发现ruby解析JSON有现成的库,用gem install json就可以安装。乐了,装吧,可是没法子装,提示“ERROR: Failed to build gem native extension.” 于是拿这句话来搜,某个江湖郎中说用一下gem update –system 升级gem先,照做。发现连gem都启动不了了。提示“uninitialized constant Gem::GemRunner (NameError)” 偷鸡不成蚀把米,头大。用这句话搜搜来了曙光,原来这个错误在ubuntu下比较常见,gem不能用了,但能用gem1.8。果然可以!再试gem1.8 install json,又回到了“Failed to build gem native extension”。 折腾良久,返回原地。不过这次运气好,看到有人说,只要用apt装一下ruby-dev就好了。apt-get install ruby-dev,提示没这个软件包。出主意这人不厚道,肯定不是东北人。后来我类比了一下,试着安装ruby1.8-dev,成了! 接下来装gem1.8 install json,一切顺利。再用require “json”时,程序已经不报错了。

Javascript复习&分享

有好长时间不用javascript,这几天用起来还有点不纯熟。不想看到再有人说javascript是rubbish,关键还是人怎么使用它。复习一下有关的知识: javascript中的数组 arr = new Array(); arr = new Array(num); arr = new Array(["item1","item2"...]); 数组的创建基本就这几种,我用的最多的是第一种。表面看起来,创建数组的时候提供一个整型参数可以创建一个定长数组,其实还是可以使用超出范围的index来设置数组元素的。比如用arr = new Array(3)创建一个数组,仍然可以用arr[100]=”item100″进行赋值。所以,还不如干脆用第一种呢。 javascript中的类 function Shop (name) { this.name = name; this.somefunc = function (){ } } 在JS中,声明一个类不是用class XXX,而是用上面的方法。Javascript中的类有些高级的用法,如果感兴趣可以看一下script.aculo.us/prototype这些库的程序,还是比较容易懂的。我自己掌握的就是上面这个简单的办法。使用的时候,通过shop = new Shop(name) 就可以创建一个Shop的类。 当然,类也可以包含方法,具体的用法,实践一下就好。 JSON 最初接触AJAX的时候,在我的启蒙书籍“AJAX基础教程”中看到过JSON。当时我用AJAX根本用不到XML(只用TEXT),所以也没打算去折腾这个看起来比XML复杂的JSON。 JSON是这样一个东西,可以把任何Javascript的对象、数组等数据编码为一个字串,而比同样内容编码为XML要省了不少空间。如果想向服务器发送一个或多个对象的信息,用JSON无疑是很方便的。关于JSON的具体介绍可以看这里。 想用JSON,需要先下载一个JSON的文件,地址是http://json.org/json.js。下载之后包含在页面内,对任何想编码为JSON的数据,只要调用一下toJSONString()就可以了。 比如一个数组定义为 arr = new Array(["item1","item2"]); ,使用arr.toJSONString()将返回[["item1"],["item2"]]。 上面说了编码JSON。想把原来的对象还原回来,只要用eval()函数。当然eval的效率值得商榷,不过还没进行过具体的测试。 此外,友情提醒一下,那个JSON.js文件里面注释占了一大部分。如果要用在实际的项目中,最好都干掉吧,不然很影响加载的速度。