使用josn 在js中 key去掉双引号

{"title":"\u660c\u5409","content":"","point":"87.997349|43.732302","isOpen":"0","icon... {"title":"\u660c\u5409","content":"","point":"87.997349|43.732302","isOpen":"0","icon":"w:21,h:21,l:0,t:0,x:6,lb:5“}
把上面这一段变成下面这一段{title:"\u660c\u5409",content:"",point:87.997349|43.732302,isOpen:0,"icon":"w:21,h:21,l:0,t:0,x:6,lb:5“}
展开
 我来答
蒲公英丨丶
2018-11-29 · 超过14用户采纳过TA的回答
知道答主
回答量:46
采纳率:0%
帮助的人:11.8万
展开全部

楼下的答案是真的搞笑,我也遇到了这个问题,还是自己动手写了下,不多废话了,大体思路看图:

下边是代码:

	function getStr(data){
    //我这里的data是数组,所以先转一下json
  //数据格式是这样的:[{"id":30348079,"name":"表1","score":"1","pid":"0"},{"id":30348079,"name":"表1","score":"1","pid":"0"}]
      var jsonData = JSON.stringify(data).replace(/\"/g, "");  //这里去掉所有"
      console.log("---"+jsonData);
    // 下边操作
    // :替换:"
    // ,替换",
    // }]替换"}]
    // }",{替换 "},{
      jsonData = jsonData.replace(/\:/g,"\:\"").replace(/\,/g,"\"\,").replace(/\}\]/g,"\"\}\]").replace(/\}\"\,\{/g,"\"\}\,\{");
      console.log("++++"+jsonData);
    //最后转回json对象
      data = eval('(' + jsonData + ')');
      console.log(data);
    };
乂剪钟情
推荐于2018-03-04 · TA获得超过372个赞
知道小有建树答主
回答量:232
采纳率:52%
帮助的人:23.1万
展开全部

首先,需要说明的是,标准的json对象格式为{"key":value,"key2":value2},键必须带有双引号,也就是说你上面的格式没有问题,既然你有这样的需求,下面代码可以实现:

// 待处理的json对象	
var jsonObj = {"title":"\u660c\u5409","content":"","point":"87.997349|43.732302","isOpen":"0","icon":"w:21,h:21,l:0,t:0,x:6,lb:5"};
// json的值将被临时储存在这个变量中
var keyValue = "";
// 处理好的json字符串
var jsonStr = "";
for (var key in jsonObj) {
keyValue += key + ':"' + jsonObj[key] + '",';
}
// 去除最后一个逗号
keyValue = keyValue.substring(0,keyValue.length - 1);
jsonStr = "{" + keyValue + "}";
console.log(jsonStr);
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友02cd4ce
2015-03-13 · TA获得超过516个赞
知道小有建树答主
回答量:709
采纳率:0%
帮助的人:718万
展开全部
你上面一段是json字符串,不管你JS操作还是传递到后台服务器操作,你都要把json字符串转换成json对象来操作才方便,至于是否去掉引号问题,那个就不需要你去单独操作了,没实际意义
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0bb9d06
2017-12-29 · TA获得超过1718个赞
知道小有建树答主
回答量:512
采纳率:86%
帮助的人:42.6万
展开全部
var Ajson = {"title":"\u660c\u5409","content":"","point":"87.997349|43.732302","isOpen":"0","icon":"w:21,h:21,l:0,t:0,x:6,lb:5"}
var str = JSON.stringify(Ajson);
var res = JSON.parse(str);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1094220061lmt
2017-12-29
知道答主
回答量:1
采纳率:0%
帮助的人:918
展开全部
老铁你好。你有没有发现json里的中文都转码啦?这是因为json在传到js中的时候解析了,要想不解析,可以将该json字符串使用 var value = [(${data.jsonStr)] 包裹一下。望采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式