JSON.parse()和JSON.stringify()

来源:互联网 发布:源码平台 编辑:程序博客网 时间:2024/06/17 10:55

parse用于从一个字符串中解析出json对象,如

var str = '{"name":"huangxiaojian","age":"23"}'

结果:

JSON.parse(str)

Object
  1. age"23"
  2. name"huangxiaojian"
  3. __proto__Object


注意:单引号写在{}外,每个属性名都必须用双引号,否则会抛出异常。


stringify()用于从一个对象解析出字符串,如

var a = {a:1,b:2}

结果:

JSON.stringify(a)

"{"a":1,"b":2}"



JSON,String,Map之间相互转换

前提是String的格式是map或json类型的

String 转Json

 JSONObject  jasonObject = JSONObject.fromObject(str);

String 转Map

JSONObject  jasonObject = JSONObject.fromObject(str);
Map map = (Map)jasonObject;

在网页之间传递数据出现中文乱码解决方案:

例如请求接口返回一个map或json数据,包含中文

1,先将map或json转成string格式,如果是map类型的,先转成json  JSONObject json=new JSONObject(map); json.toJSONString();转成string格式

2,利用URLEncoder.encoder(str,"UTF-8")或"GBK"对string加密处理,发送加密后的str

3,在接受端,收到str后,URLDecoder.decoder(str,"UTF-8")解密成正常str,一般要转成json需要去掉开始结尾的引号,str=str.substring(1,str.length()-1),再用JSONObject.formObject(str)将str转成json;之后需要转map,Map map = (Map)json即可


0 0
原创粉丝点击