JS字符串转换为JSON的四种方法笔记(如何给客户端JSON字符串而不JSON对象)

前提:今天跟web页面调js 它使用了eval方式解析方式的解析给我的是一个JSON对象,而不是JSON字符串
代码如下

function sendMSGPDF(){
	return '{"strContents":"'+varpdfbase64.base64Img+'"}';
}

但是iOS客户端要的是JSON字符串
这样客户端拿到它转化不了字典

先来说一说JSON对象和JSON字符串的区别

JSON字符串:

var str1 = '{ "name": "cxh", "sex": "man" }'; 

JSON对象:

var str2 = { "name": "cxh", "sex": "man" };

一、JSON字符串转换为JSON对象
要使用上面的str1,必须使用下面的方法先转化为JSON对象:

//由JSON字符串转换为JSON对象

var obj = eval(’(’ + str + ‘)’);

或者

var obj = str.parseJSON(); //由JSON字符串转换为JSON对象

或者

var obj = JSON.parse(str); //由JSON字符串转换为JSON对象

特别注意:如果obj本来就是一个JSON对象,那么使用eval()函数转换后(哪怕是多次转换)还是JSON对象,但是使用parseJSON()函数处理后会有问题(抛出语法异常)。

二、可以使用toJSONString()或者全局方法JSON.stringify()将JSON对象转化为JSON字符串。

例如:
JSON.stringify(obj); //将JSON对象转化为JSON字符

function sendMSGPDF(){
	var json={    
		"strContents":varpdfbase64.base64Img
	}; 
	return  JSON.stringify(json);
}

注意前端与客户端交互,传值一般是通过JSON字符串传值的,而不是JSON对象,查看一个前端给的JS是JSON字符串

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值