javascript 从解析的对象中调用 Json Parse

标签 javascript json serialization

我有一个 ES6 中的 Javascript 类,我想编写一个 LoadFromJson 方法。

问题是 JSON.parse 返回一个对象,而我无法编写:

//MyObject.loadFromJson method
loadFromJson(JsonString)
 {
   this=JSON.parse(jsonString); //INVALID//
 }

我如何在类里面实现这一目标。 我知道我可以写:

myObject = JSON.parse(jsonString);

但这不是我想要的,我需要:

myObject = new MyObjectClass();
myObject.loadFromJson(JsonString);

我想在我的对象中实现“撤消机制”并能够保存/恢复该对象。

最佳答案

您无法分配给。这是一个从解析对象中复制所有属性的示例。

class MyObjectClass {
  loadFromJSON(jsonString) {
    const parsed = JSON.parse(jsonString);
    for (const key in parsed) this[key] = parsed[key];
  }
}

const myObject = new MyObjectClass();
myObject.loadFromJSON('{"a":2,"b":null,"c":"abc"}');
console.log(myObject);

关于javascript 从解析的对象中调用 Json Parse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38986209/

相关文章:

javascript - Photoshop "Save to Web"自动化

javascript - 悬停时的过渡背景图像

json - 对 Perl 数据结构的每个元素应用不同的函数

Java无效的流头问题

javascript - 如何使用 javascript promises ES6 而不是 jQuery ajax 调用?

javascript - 为 chrome 扩展打开 background 和 content_script 之间的消息端口

javascript - 数组的数组,JSON.stringify() 给出空数组而不是整个对象

c# - 以 "TryParse"的方式反序列化 json

java - 使用 Gson 序列化具有非原始值的对象的 ArrayList?

python - 如何将两个相似的 View 组合成一个响应?