js对象转换成字符串

{"variation":"1600"}
这是对象 把对象转换成字符串 并把前面的英文切割掉的代码

你的意思是只要1600吗?

img

Fastjson,可以看看,然后通过key 去取value

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7594644
  • 你也可以参考下这篇文章:js 字符串数组转换成数字数组
  • 除此之外, 这篇博客: js 改写对象转字符串 字符串转对象(不丢失对象方法)中的 字符串转对象 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 思路主要是先用JSON.parse将字符串转为对象,然后使用正则表达式匹配对象中的属性,找出函数字符串使用Function对象转为函数。方法如下:

    function stringToFunction(obj){  // 将对象中的函数字符串转化为函数
    	var regex =  /^((function\s)|.)([a-zA-Z_][a-zA-Z0-9_]*)\(.*\)\s\{.*\}/  //匹配函数字符串
    	for(let key in obj){
    		if(obj[key] instanceof Object){
    			stringToFunction(obj[key]);
    		}else{
    			if(regex.test(obj[key])){ // 是一个函数
    				try{
    					let params = obj[key].substring(obj[key].indexOf('(')+1,obj[key].indexOf(')'));
    					let operation = obj[key].substring(obj[key].indexOf("{")+1,obj[key].length-1);
    					obj[key] = new Function(params, operation);
    				}catch(e){
    						console.log(e)
    				}
    			}
    		}
    	}
    	return obj
    }
    
    function stringToObject(string){  // 用于替代JSON.parse
    	let obj = JSON.parse(string);  //将字符串转为对象
    	return stringToFunction(obj)    // 将对象中的函数字符串转为函数
    }
    
  • 您还可以看一下 邓继诚老师的零基础JS入门系列课程(2)之JS语法基础精讲课程中的 变量的相关细节小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    答案:

    可以使用JSON.stringify将对象转换为字符串,然后使用正则表达式删除开头的英文字母部分。代码如下:

    let obj = { name: 'test', age: 20 };

    let objStr = JSON.stringify(obj); // 把对象转成字符串 objStr = objStr.replace(/^[a-zA-Z]+/, ''); // 删除字符串开头的英文字母部分

    console.log(objStr); // {"age":20}

    如果需要在函数中实现,可以这样写:

    function objToStr(obj) { let objStr = JSON.stringify(obj); objStr = objStr.replace(/^[a-zA-Z]+/, ''); return objStr; }

    let obj = { name: 'test', age: 20 };

    let objStr = objToStr(obj); console.log(objStr); // {"age":20}

    如果对象中有嵌套的对象,可以使用递归方式实现。代码如下:

    function objToStr(obj) { let newObj = {}; for (let key in obj) { let val = obj[key]; if (typeof val === 'object') { val = objToStr(val); } newObj[key] = val; } let objStr = JSON.stringify(newObj); objStr = objStr.replace(/^[a-zA-Z]+/, ''); return objStr; }

    let obj = { name: 'test', age: 20, child: { name: 'child', age: 5 } };

    let objStr = objToStr(obj); console.log(objStr); // {"age":20,"child":{"age":5},"name":"test"}

直接对象取值不行吗,搞那么麻烦

对象.值 + "" 这不就是获取对象的某个值吗