js将对象转成字符串-支持微信
最近写一个微信项目时用到了 把对象转成字符串,因为我需要把它存在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将对象转成字符串-支持微信的更多相关文章
- js中对象转化成字符串、数字或布尔值的转化规则
js中对象可以转化成 字符串.数字.布尔值 一.对象转化成字符串: 规则: 1.如果对象有toString方法,则调用该方法,并返回相应的结果:(代码通常会执行到这,因为在所有对象中都有toStrin ...
- js 将json对象转成字符串
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 前台 JSON对象转换成字符串 相互转换 的几种方式
在最近的工作中,使用到JSON进行数据的传递,特别是从前端传递到后台,前台可以直接采用ajax的data函数,按json格式传递,后台Request即可,但有的时候,需要传递多个参数,后台使用requ ...
- json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值
一.json相关概念 json,全称为javascript object notation,是一种轻量级的数据交互格式.采用完全独立于语言的文本格式,是一种理想的数据交换格式. 同时,json是jav ...
- JS json对象(Object)和字符串(String)互转方法
[JS json对象(Object)和字符串(String)互转方法] 参考:https://blog.csdn.net/wenqianla2550/article/details/78232706 ...
- JS 将对象转换成字符 字符串转换成json对象
//js对象 var user = { "name": "张学友", "address": "中国香港" }; //将对 ...
- 如何将javascript对象转换成字符串
将后台程序(如php)发送过来的json数据转化为javascript的数组或者对象的方法十分简单,代码如下: 1 // 假设后台发送的json数据为 '{a:2,b:1}' 存储于str中 2 va ...
- Javascript里面的时间处理:将时间戳或时间对象转成字符串格式
问题背景:想把一个时间直接转成字符串格式 通过查api发现有个toLocaleString(),根据本地时间格式,把 Date 对象转换为字符串 new Date().toLocaleString() ...
- Base64技术:把对象转变成字符串
需求:在安卓移动端和服务器进行数据交互的时候,有些时候需要上传,下载文件.如果所有的参数都变成字符串,会更加方便. 原理:Base64只是把byte[]数组进行了编码,然后再解码的过程,文档内容无法直 ...
随机推荐
- js-浏览器DOM
1.window尺寸 适配所有浏览器的尺寸方案 var w=window.innerWidth|| document.documentElement.clientWidth|| document.bo ...
- Arbitrage HDU
Arbitrage Time Limit: 2000/1000 MS (Java/Others) Mem ...
- 【JAVA编码专题】总结
第一部分:编码基础 为什么需要编码:用计算机看得懂的语言(二进制数)表示各种各样的字符. 一.基本概念 ASCII.Unicode.big5.GBK等为字符集,它们只定义了这个字符集内有哪些字符,以及 ...
- CSS: Table-Layout & Word-Break 设置表和列的宽度固定不变
1. 设置Table的列宽由表格宽度和列宽度设定(指定表格宽度,各个列宽度): table#tbl_id{table-layout:fixed;} 2. 设置TD内容根据宽度进行换行,即使字符串之间无 ...
- php,apache伪静态(1转)
1.检测Apache是否支持mod_rewrite通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler ...
- 距离顶部估计像素,显示div!
<html> <head> <title>slide</title> <style type="text/css"> # ...
- EF查询
public ActionResult AllSettings(DataSourceRequest command, Framework.Kendoui.Filter filter = null, S ...
- Powershell变量的幕后管理
Powershell变量的幕后管理 513 12月, 2011 在 Powershell tagged 变量 / 类型 by Mooser Lee本文索引[隐藏]1修改变量的选项设置2激活变量的写 ...
- linux操作系下RAR的使用
============zip文件的操作================================== zip -r data.zip data 解释:将data文件夹压缩成了data.zip格 ...
- 商派shopex
http://www.shopex.cn/48release/shopexsingle_exper.php 在线体验 前台体验:http://demo.shopex.com.cn/485 后台体验:h ...