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> 关键看你想干啥,再找具体的方法。两个不同的库,甚至连语言都不同,肯定还是有较大的差异,不可以百分之百的按原流程翻译。
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>
关键看你想干啥,再找具体的方法。两个不同的库,甚至连语言都不同,肯定还是有较大的差异,不可以百分之百的按原流程翻译。