如何在javascript中将对象转换为字符串?

vshtjzan  于 2023-02-11  发布在  Java
关注(0)|答案(5)|浏览(134)

我有一个函数,它应该接受对象的参数并返回一个字符串
我写的代码。

function check(obj) {
  return obj.toString();
}
a64a0gku

a64a0gku1#

let toString = ({name, age, language}) => `name: ${name}, age: ${age}, language: ${language}`;

const david = { name: 'David', age: 22, language: 'PHP' };

console.log(toString(david));

如果你想更通用:

let toString = obj => Object.entries(obj).map(([k, v]) => `${k}: ${v}`).join(', ');

const david = { name: 'David', age: 22, language: 'PHP', favoriteFood: 'blue' };

console.log(toString(david));
hsgswve4

hsgswve42#

如果你的目标是

const obj = { name: "John", age: 30, city: "New York" };

使用JavaScript函数JSON.stringify()将其转换为字符串,如JSON.stringify(obj) .,然后您将得到以下字符串:
"{"name":"John","age":30,"city":"New York"}"

frebpwbc

frebpwbc3#

如果要将对象转换为字符串而不应用JSON.stringify()函数,请应用此技术

let obj = { 
  x: 1, 
  y: 'HelloWorld',
  toString: function(){
    return `${this.x}, ${this.y}`;
  }
};

let result = String(obj);

console.log(result, 'type --> ', typeof result);
j1dl9f46

j1dl9f464#

var data = {name: "john", age: 30}
var str = String(`${JSON.stringify(data)}`)  // "{\"name\":\"john\",\"age\":30}"
var btoas = btoa(str)  // "eyJuYW1lIjoiam9obiIsImFnZSI6MzB9"
var atobs = atob(btoas)  // "{\"name\":\"john\",\"age\":30}"
var myRealData = JSON.parse(atobs)  //{name: "john", age: 30}

` BOYAA !! `
p5cysglq

p5cysglq5#

1%的时候你可能需要json之外的东西几乎总是你需要json但是...
有时候你需要一个JavaScript字符串,而不是json,就像你填充一个graphql模板。
它就像json字符串一样,但是它的属性没有引号。

export const toJavascriptString =
  (obj: any) => JSON.stringify(obj).replace(/\"([\w_-]+?)\"\:/g, '$1:')

var obj = {a: 'wsd', b: 2}
var str = JSON.stringify(obj).replace(/\"([\w_-]+?)\"\:/g, '$1:')
console.log(str)

{a:“水务署”,B:2}

相关问题