我可以使用JsonPatchDocument
序列化JsonConvert.SerializeObject()
模型,但结果类型是字符串,如何将其转换为普通数组类型?或者如何将JsonPatchDocument
对象直接送到数组?
var pathSerialized = JsonConvert.SerializeObject(patch);
Console.WriteLine(pathSerialized);
// Result as string:
// "[{"value":"2018-08-30","path":"/openTo","op":"replace"},{"value":"2018-04-01","path":"/openFrom","op":"replace"}]"
答案 0 :(得分:3)
您根本不必序列化JsonPatchDocument
对象。您可以直接通过该对象访问其属性。例如,过滤路径属性:
var elementsWithPath = patch.Operations.Where(o => o.path.Equals("some path"));
答案 1 :(得分:0)
我认为您可能希望从Newtonsoft.Json.Linq命名空间中使用JTokens
执行某些操作。您可以将pathserialized
字符串转换为JToken
var jToken = JToken.Parse(pathSerializer)
,然后通过使用var childTokens = jToken.Children()
枚举它们来探索基础对象和属性。
其中一个子令牌将是JObject
,它是对象的Json表示。您可以使用JObject
访问jObject["propertyName"]
的媒体资源。