对象转字符串,并 去除最后一个符号(逗号)
<script>
window.οnlοad=function() {
var obj = {name: "xxx", age: 30, sex: "female"};//定义一个object对象
var str = ''//定义一个空字符用来接收对象里的key或者value
for(var item in obj) {//遍历item变量里的对象的属性和元素,
str += obj[item] + ","//将obj对象的值遍历出来,并且追加到str字符中。
//str += item + ","//将obj对象的属性遍历出来,并且追加到str字符中。
}
//第一种方法、将字符串中最后一个元素","逗号去掉,
//str = str.substring(0, str.lastIndexOf(','));
//第二种方法、将字符串中最后一个元素","逗号去掉,
//str = (str.substring(str.length - 1) == ',') ? str.substring(0, str.length - 1) : str;
//第三种方法、将字符串中最后一个元素","逗号去掉,
//var str=str.substring(0,str.length-1);//3、将字符串中最后一个元素","逗号去掉,
//第四种方法、将字符串中最后一个元素","逗号去掉,
var reg=/,$/gi;
str=str.replace(reg,"");
console.log(str)
}
</script>
字符串转数组对象,‘{“price”:“100”,“id”:“1”}’ 转 【{“price”:“200”,“id”:“2”}】
亲测有效
// 待转换字符串 单个
const str = '{"price":"100","id":"1"}'
// 待转换字符串 多个
const str = '{"price":"100","id":"1"},{"price":"200","id":"2"}'
// 待转换字符串 包含有 【中括号】
const str = '[{"price":"100","id":"1"},{"price":"300","id":"3"}]'
// 如果有中括号,先去掉中括号 start
if(str != ""){
const pattern=/[【】[\]\s]/g;
str = str .replace(pattern,"");
}
// 去掉中括号 end
// 字符串转数组,数组的前几个 大括号都被截取了,{"price":"100","id":"1" 最后一个是空字符串''
var s = str.split('}');
// 截取后 第一个 {"price":"100","id":"1"
// 第二个 ,{"price":"200","id":"2"
// 第三个 '' 空
const index = s.indexOf(""); // 移除元素'' 最后一个
if (index > -1) { // 移除找到的指定元素
s.splice(index, 1); // 移除元素
}
// for let i YYDS, 用 foreach 总报错
for (let i = 0; i < s.length; i++) {
// 给没有闭合 大括号的添上 ,
if(s[i].indexOf('}') == -1){
s[i] = s[i] + '}'
}
// js 去除字符串第一位逗号的方法
if(s[i].indexOf(',{') !== -1){
s[i]=s[i].substr(1);
}
// 转为对象
s[i] = JSON.parse(s[i]);
// 如果是对象,true 为对象 则 增加属性,判断不确定
if(Object.prototype.toString.call(s[i]) === '[object Object]' && val !== null && val !== undefined){
s[i].active = false;
}
}
console.log(s)// [{"price":"100","id":"1"},{"price":"200","id":"2"}]
字符串转对象
let str = '[{"name":"黑色","photo":"图片","price":"100"} ]' // 字符串
// 如果有中括号,先去掉中括号 start //去掉中括号后为 {"name":"黑色","photo":"图片","price":"100"}
if(str != ""){
const pattern=/[【】[\]\s]/g;
str = str .replace(pattern,"");
}
// 字符串转数组
str = new Array(str); //数组 [{"name":"黑色","photo":"图片","price":"100"} ]
// 字符串转对象
// res.data.price = JSON.parse(res.data.material[0]).price;