zoukankan      html  css  js  c++  java
  • 字符串、对象、json格式数据的相互转化

    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
  • 相关阅读:
    Kotlin泛型与协变及逆变原理剖析
    struts2中action的class属性值意义
    重新设置Eclipse的workspace路径
    windows下将mysql加入环境变量
    Eclipse插件安装4种方法
    Maven常用命令
    IntelliJ IDEA光标变粗 backspace无法删除内容解决方法
    Weblogic Exception in AppMerge flows' progression
    Oracle的dual
    lgp20151222 解决-Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME environment variable and mvn script match.
  • 原文地址:https://www.cnblogs.com/lswit/p/5048395.html
Copyright © 2011-2022 走看看