最近写一个微信项目时用到了 把对象转成字符串,因为我需要把它存在cookie中,碰到了一些问题,在这里分享一下。

要转换的就是这货~
var FBinf = {
"workPlacesCode": workPlacesCode,
"parentCode": parentCode,
"firstParentCode": firstParentCode,
"categoryCode": categoryCode,
     "imgurl":imgurl
}

我们常用的对象转成字符串是:

var last=JSON.stringify(obj); //将JSON对象转化为JSON字符

或者

var last=obj.toJSONString(); //将JSON对象转化为JSON字符
但是很遗憾,我用这行代码会报错

而在使用第一种方法的时候出了一个问题就是在android的微信上 不生效!不生效!不生效!

很奇怪的 我用微信官方的开发者工具测试并没有问题,但是在我的手机上就不生效,代码会被打断应该是报错了,就是js无法往下进行。

但这个问题在IOS上没有出现!

于是只好换了一个手动方式:

var jStr = '{';
for(var item in FBinf){
if(item == 'imgurl') {
jStr += '"'+item+'":"'+FBinf[item]+'"'
}else{
jStr += '"'+item+'":"'+FBinf[item]+'",';
}
}
jStr += '}';
//这里做了个判断,如果是最后一个参数,就去掉 “,”。因为这个对象没有长度,所以没法用length判断最后一项。

问题很圆满的解决了,微信也顺利通过,缺点就是使用起来不太方便,如果以后我的对象参数有所改变,这里可能会需要相应的调整(最后一项)。

希望能帮到碰到类似问题的同学!欢迎大家积极讨论,有更好的方法更好~

js将对象转成字符串-支持微信的更多相关文章

  1. js中对象转化成字符串、数字或布尔值的转化规则

    js中对象可以转化成 字符串.数字.布尔值 一.对象转化成字符串: 规则: 1.如果对象有toString方法,则调用该方法,并返回相应的结果:(代码通常会执行到这,因为在所有对象中都有toStrin ...

  2. js 将json对象转成字符串

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. 前台 JSON对象转换成字符串 相互转换 的几种方式

    在最近的工作中,使用到JSON进行数据的传递,特别是从前端传递到后台,前台可以直接采用ajax的data函数,按json格式传递,后台Request即可,但有的时候,需要传递多个参数,后台使用requ ...

  4. json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值

    一.json相关概念 json,全称为javascript object notation,是一种轻量级的数据交互格式.采用完全独立于语言的文本格式,是一种理想的数据交换格式. 同时,json是jav ...

  5. JS json对象(Object)和字符串(String)互转方法

    [JS json对象(Object)和字符串(String)互转方法] 参考:https://blog.csdn.net/wenqianla2550/article/details/78232706 ...

  6. JS 将对象转换成字符 字符串转换成json对象

    //js对象 var user = { "name": "张学友", "address": "中国香港" }; //将对 ...

  7. 如何将javascript对象转换成字符串

    将后台程序(如php)发送过来的json数据转化为javascript的数组或者对象的方法十分简单,代码如下: 1 // 假设后台发送的json数据为 '{a:2,b:1}' 存储于str中 2 va ...

  8. Javascript里面的时间处理:将时间戳或时间对象转成字符串格式

    问题背景:想把一个时间直接转成字符串格式 通过查api发现有个toLocaleString(),根据本地时间格式,把 Date 对象转换为字符串 new Date().toLocaleString() ...

  9. Base64技术:把对象转变成字符串

    需求:在安卓移动端和服务器进行数据交互的时候,有些时候需要上传,下载文件.如果所有的参数都变成字符串,会更加方便. 原理:Base64只是把byte[]数组进行了编码,然后再解码的过程,文档内容无法直 ...

随机推荐

  1. js-浏览器DOM

    1.window尺寸 适配所有浏览器的尺寸方案 var w=window.innerWidth|| document.documentElement.clientWidth|| document.bo ...

  2. Arbitrage HDU

    Arbitrage                                              Time Limit: 2000/1000 MS (Java/Others)    Mem ...

  3. 【JAVA编码专题】总结

    第一部分:编码基础 为什么需要编码:用计算机看得懂的语言(二进制数)表示各种各样的字符. 一.基本概念 ASCII.Unicode.big5.GBK等为字符集,它们只定义了这个字符集内有哪些字符,以及 ...

  4. CSS: Table-Layout & Word-Break 设置表和列的宽度固定不变

    1. 设置Table的列宽由表格宽度和列宽度设定(指定表格宽度,各个列宽度): table#tbl_id{table-layout:fixed;} 2. 设置TD内容根据宽度进行换行,即使字符串之间无 ...

  5. php,apache伪静态(1转)

    1.检测Apache是否支持mod_rewrite通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler ...

  6. 距离顶部估计像素,显示div!

    <html> <head> <title>slide</title> <style type="text/css"> # ...

  7. EF查询

    public ActionResult AllSettings(DataSourceRequest command, Framework.Kendoui.Filter filter = null, S ...

  8. Powershell变量的幕后管理

    Powershell变量的幕后管理 513 12月, 2011  在 Powershell  tagged 变量 / 类型 by Mooser Lee本文索引[隐藏]1修改变量的选项设置2激活变量的写 ...

  9. linux操作系下RAR的使用

    ============zip文件的操作================================== zip -r data.zip data 解释:将data文件夹压缩成了data.zip格 ...

  10. 商派shopex

    http://www.shopex.cn/48release/shopexsingle_exper.php 在线体验 前台体验:http://demo.shopex.com.cn/485 后台体验:h ...