将字符串数组添加到JObject

4

我尝试过

JObject obj = new JObject();
obj["item1"] =  new string[] {"a","b"};

并获得

Cannot implicitly convert type 'string[]' to 'Newtonsoft.Json.Linq.JToken'

如何将字符串数组添加到 JObject 中?另外,为什么会出现该错误?

1个回答

8
尝试这种方法:
JObject obj = new JObject();
obj.Add("item1", JToken.FromObject(new[] { "a", "b" }));

谢谢,它可以工作。我也尝试了obj.Add("item1", JArray.FromObject(new[] { "a", "b" })),它也可以工作。这两者有什么区别? - John webner
@Johnwebner 基本上,JToken 可以是一个对象或一个数组,而 JArray 只能是一个数组。 - Camilo Terevinto
看起来 obj.Add("item1", JToken.FromObject(new[] { "a", "b" })); 将 JToken 转换为了 JArray。obj["item1"].GetType(); 的结果是 **{Name = "JArray" FullName = "Newtonsoft.Json.Linq.JArray"}**。 - Stringfellow

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接