【问题标题】:Creating a nested JSON object in C#在 C# 中创建嵌套的 JSON 对象
【发布时间】:2016-07-14 23:34:45
【问题描述】:

使用 BOOMLAGOON 库。

我正在尝试使用 Unity3d 在 C# 中生成 JSON 对象。

string GroupName="Night Fighters";
string GroupMemberID="TG1";
string GroupMemberName="Tommy Gun";
string GroupEquipmentDescription="Tommy Gun";

public JSONObject Testjson()
{        

    var data = new JSONObject
    {
        {"Group Name" , GroupName},
        {"Group Member" , GroupMemberID, GroupMemberName},
        {"Group Equipment" , GroupEquipmentID, GroupEquipmentDescription}
    };    

    Debug.Log(data);

    return data;
}

它告诉我重载是错误的 - add 需要三个参数。不知道如何做一个嵌套的成员或设备。我试过 () 和 {} 和 []。没有任何效果。

【问题讨论】:

  • 您能否发布您希望实现的 JSON 的最终结果?

标签: c# json unity3d


【解决方案1】:

更有可能表明它不需要 3 个参数:

    public void Add(string key, JSONValue value) {
        values[key] = value;
    }

    public void Add(KeyValuePair<string, JSONValue> pair) {
        values[pair.Key] = pair.Value;
    }

但这就是你要做的:

var data = new JSONObject
{
    {"Group Name" , GroupName},
    {"Group Member" , GroupMemberID, GroupMemberName},  // here three
    {"Group Equipment" , GroupEquipmentID, GroupEquipmentDescription} // Here three
};

您必须首先创建一个 json 对象,在其中添加两个值,然后在 ctor 中传递该单个顶部对象。

【讨论】:

  • 感谢 Everts!正是我需要的。
  • 第 2 部分:将初始对象放在一起并保存,是的!现在,既然初始对象存在,那么向设备添加另一个组成员和更多项目的程序是什么。那么如何在不覆盖当前文件的情况下保存它?我已经尝试了一些奇怪的结果。 (即使我更改并保存了脚本,它也决定保存旧值。)有什么想法吗?
  • 您将获得设备 json 对象并像您所做的那样添加,然后将修改后的设备对象添加回主对象。我不确定保存而不覆盖,你是什么意思?
猜你喜欢
  • 1970-01-01
  • 2013-03-26
  • 1970-01-01
  • 2017-02-14
  • 2017-12-22
  • 2021-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多