将typescript对象转换为json字符串

use*_*453 42 javascript json esri typescript

我正在尝试初始化typescript中的对象,该对象需要"options"参数的JSON字符串.准确地说它是对象在这里.options参数必须是JSON字符串,而不是用于初始化dijit的对象.

有没有办法从typescript对象创建一个JSON字符串而不是一个手动过程?

请不要链接任何没有特别说"TypeScript"的问题,因为这个问题与TypeScript有关.虽然JavaScript的衍生物与编写代码的方式不同,因此这是唯一一个询问当前与TypeScript相关的问题的帖子.

Luk*_*itz 101

只是用JSON.stringify(object).它内置于Javascript中,因此也可以在Typescript中使用.

  • 使用以下指南后的正确对象定义,这不会起作用,因为所有键都将使用私有变量名称(如果下划线与私有成员一起使用)https://www.typescriptlang.org/docs/handbook/classes.html #公私和保护的修饰语 (3认同)

Wil*_*een 7

TS 被编译成 JS,然后执行。因此,您可以访问 JS 运行时中的所有对象。这些对象之一是JSON对象。这包含以下方法:

  • JSON.parse() 方法解析 JSON 字符串,构造字符串描述的 JavaScript 值或对象。
  • JSON.stringify() 方法将 JavaScript 对象或值转换为 JSON 字符串。

例子:

const jsonString = '{"employee":{ "name":"John", "age":30, "city":"New York" }}';


const JSobj = JSON.parse(jsonString);

console.log(JSobj);
console.log(typeof JSobj);

const JSON_string = JSON.stringify(JSobj);

console.log(JSON_string);
console.log(typeof JSON_string);
Run Code Online (Sandbox Code Playgroud)


Gio*_* P. 5

您可以使用Javascript中提供的标准JSON对象:

var a: any = {};
a.x = 10;
a.y='hello';
var jsonString = JSON.stringify(a);
Run Code Online (Sandbox Code Playgroud)