2015年12月15日
简要地将:
querystring.parse(str)可以把 \'key1=val1&key2=val2&key3=val3\' 之类的字符串序列化为 { key1 : \'val1\', key2 : \'val2\', key3 : \'val3\'} 这样的对象。
querystring.stringify(obj)可以把 { key1 : \'val1\', key2 : \'val2\', key3 : \'val3\'} 这样的对象序列化为 \'key1=val1&key2=val2&key3=val3\' 这样的字符串。
主要用于与网页链接有关的数据。
JSON.parse(json)可以把 {"key1" : "val1", "key2" : "val2"} 这样的json格式数据转化为 { key1 : \'val1\', key2 : \'val2\'} 这样的对象。
JSON.querystring(obj)可以把 { key1 : \'val1\', key2 : \'val2\'} 这样的对象转化为 {"key1" : "val1", "key2" : "val2"} 这样的json格式数据。
var querystring = require(\'querystring\'); //这是一个字符串 var order = \'order_no=151215935&partner=6ccpug&objs=[{"eqpt_type":"0a0003biac","eqpt_id_code":"123400012"}]&sign=FFFFFFFFFF\'; //querystring.parse()将链接中的键值对序列化为一个对象 var orderObj = querystring.parse(order); console.log(orderObj); //序列化为对象 // 输出: // { order_no: \'151215935\', // partner: \'6ccpug\', // objs: \'[{"eqpt_type":"0a0003biac","eqpt_id_code":"123400012"}]\', // sign: \'FFFFFFFFFF\' } // 获取应为对象实际上被转化为了字符串以便于在链接中传递的 var objsStr = querystring.parse(order).objs; // stringObject.substr(start,length) start从0开始 // objsStr = objsStr.substr(1,objsStr.length-2); // stringObject.substr(start,stop) start从0开始,一直到stop前的一个 //stringObject.length - 1 是stringObject最后一位的索引 objsStr = objsStr.substring(1,objsStr.length-1); console.log(\'objsStr\'); console.log(objsStr); //转换成了json格式的数据 // 输出: // {"eqpt_type":"0a0003biac","eqpt_id_code":"123400012"} //可以使用JSON.parse()格式化为对象 var objsObj = JSON.parse(objsStr); console.log(\'objsObj\'); console.log(objsObj); //转化为对象 // 输出: // { // eqpt_type: \'0a0003biac\', // eqpt_id_code: \'123400012\' // } var objStr = querystring.stringify(objsObj); console.log(objStr); //变成了字符串 // 输出: // eqpt_type=0a0003biac&eqpt_id_code=123400012