-2

使用 Json.NET 时,我尝试使用“JSON to LINQ”支持动态创建 JSON 结构。

在下面,jObject是一个JObject和 JObject.Add 采用(字符串,JToken)。但是,我不知道如何添加 Undefined 或 Null 标记 - 我也不知道如何使用适当的 Null/Undefined 类型创建 JValue。

string value = GetValue();
if (value == "undefined") {
  jObject.Add(key, /* how to add "Undefined" token? */);
} else if (value == "null") {
  jObject.Add(key, /* how to add "Null" token? */);
} else {
  jObject.Add(key, new JToken(value));  /* String value/token */
}

如何为未定义的 JSON 显式添加 JToken/JValue?JSON Null 怎么样?

4

3 回答 3

8

将属性设置为undefined在功能上等同于根本不设置该属性。因此,如果该属性未定义,您只需不要将任何属性添加到您的JObject. (这可能是 JSON 不支持的原因undefined——它完全是多余的。)

new JValue((object)null)如果我没记错的话,Null由 表示。

PS 使用您的代码,您将无法区分字符串"undefined"undefined值之间以及之间"null"和之间的区别null。您可能需要重新考虑您的设计。

于 2014-02-17T04:25:10.093 回答
3
jObject.Add(key, /* how to add "Undefined" token? */);

jObject.Add(key,JValue.CreateUndefined());
于 2015-11-22T20:18:02.657 回答
1

根据这个问题,它不支持undefined

搜索文档后,我发现了 2 个对“未定义”的引用,但没有解释如何使用它们:

于 2014-02-16T22:16:07.980 回答