使用SimpleJSON保存对JSON的更改

时间:2014-01-14 13:35:20

标签: c# json unity3d simplejson

我有一个JSON文件如下:

{
  "volume" : "1.0"
}

我想将此编辑为另一个值,如0.5等。当我使用以下代码时,我的JSON文件中会出现奇怪的结果。它确实向JSON文件写了一些内容,但它将奇怪的符号写入文件中,其间有卷。

SimpleJSON.JSONNode node = SimpleJSON.JSONNode.Parse(Resources.Load<TextAsset>("JSON/Test/test").text);

// new value
node["volume"].AsFloat = 0.5f;

System.IO.BinaryWriter bw = new System.IO.BinaryWriter(File.Open("Assets/Resources/JSON/Test/test.json", 
FileMode.Create));

node.Serialize(bw);

我的代码出了什么问题?

我在Unity项目中使用SimpleSON。

2 个答案:

答案 0 :(得分:2)

我已经解决了这个问题,但忘了发布答案,所以就在这里。

    SimpleJSON.JSONNode node = SimpleJSON.JSONNode.Parse(Resources.Load<TextAsset>
    ("JSON/Test/test").text);

    node["volume"].AsFloat = 0.5f;

    File.WriteAllText(Environment.CurrentDirectory + "/Assets/Resources/JSON/Test/" + @"\audio.json", node.ToString());

答案 1 :(得分:1)

使用TextWriter而不是BinaryWriter。