c# Newtonsoft.Json 有类似Java Jackson 里 JsonNode的对像吗?
JToken是用来做什么的?
Newtonsoft Json 里,JObject
表示是一个对象,JArray
表示一个数组,这两个都是复合性元素,所以从 JContainer 继承。另外一些非复合性的,比如字符串、数、布尔等,用 JValue
表示。而 JContainer
和 JValue
都从 JToken
继承。所以 JToken
和 JsonNode
所表示的东西应该相当。
如果你说的 JsonNode
是 Java Jackson 里的 org.codehaus.jackson.JsonNode
,那么 JsonNode
里的大部分方法应该都可以在 JToken
中找到对应的(没实验,自己可以试试),比如
JsonNode.asInt
对应 JToken.Value<int>
JsonNode.asText
对应 JToken.Value<string>
关键看你想干啥,再找具体的方法。两个不同的库,甚至连语言都不同,肯定还是有较大的差异,不可以百分之百的按原流程翻译。