簡體   English   中英

序列化/反序列化 JSON?

[英]Serializing/Deserializing JSON?

我是使用 ION 的新手,所以請原諒這個可能很簡單的問題。 在查看文檔中提供的食譜樣本之一時......

let ion = require('ion-js');

let unformatted = '{level1: {level2: {level3: "foo"}, x: 2}, y: [a,b,c]}';

let reader = ion.makeReader(unformatted);
let writer = ion.makePrettyWriter();
writer.writeValues(reader);
writer.close();
console.log(String.fromCharCode.apply(null, writer.getBytes()));

ION 可以接收 JSON 對象而不是字符串嗎? 執行如下操作,我將未格式化的變量從字符串更改為 JSON 對象,這會導致作者產生零字節...

let ion = require('ion-js');

let unformatted = {level1: {level2: {level3: "foo"}, x: 2}, y: [a,b,c]};

let reader = ion.makeReader(unformatted);
let writer = ion.makePrettyWriter();
writer.writeValues(reader);
writer.close();
console.log(String.fromCharCode.apply(null, writer.getBytes()));

是的, object = JSON.parse(string) 和 string = JSON.stringify(object) 就是你要找的。 但是,示例中的 JSON 格式不正確,不應使用變量:

{"level1":{"level2":{"level3":"foo"},"x":2},"y":[1,2,3]}

假設 a = 1, b = 2, c = 3,例如,如果您的意思是文本 a, b, c,則:

{"level1":{"level2":{"level3":"foo"},"x":2},"y":["a","b","c"]}

一旦做了這個:

JSON.stringify({"level1":{"level2":{"level3":"foo"},"x":2},"y":["a","b","c"]});

JSON.stringify(JSON.parse("{\"level1\":{\"level2\":{\"level3\":\"foo\"},\"x\":2},\"y\":[\"a\",\"b\",\"c\"]}"));

是等價的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM