使用JPath表达式设置/更新JObject中的嵌套属性

时间:2019-07-17 21:30:52

标签: c# json.net

我试图通过有效的JSONPath表达式设置/更新JObject中的属性值。例如,如果我有以下JObject:

 IDataView data = mlContext.Data.LoadFromEnumerable(samples);
        string featuresColumnName = "Features";
        var pipeline = mlContext.Transforms.Categorical.OneHotEncoding(
            new[]
            {
                new InputOutputColumnPair("Education"),
                new InputOutputColumnPair("ZipCode")
            }).Append(mlContext.Transforms.Concatenate("Features", "Education", "ZipCode"))
            .Append(mlContext.Clustering.Trainers.KMeans(featuresColumnName, numberOfClusters: 2));
        var model = pipeline.Fit(data);
        var predictor = mlContext.Model.CreatePredictionEngine<DataPoint, ClusterPredictionItem>(model);

我想插入一个像{ "x" : "val", "y" : [1, 2, 3] } 这样的值来产生:

jobject.InsertToken("y[1]", 5);

有些方法{ "x" : "val", "y" : [1, 5, 3] } SelectToken(String path)允许通过JsonPath访问属性值,但是我在文档中看不到任何允许使用路径表达式设置/更新属性的方法。 。

我尝试过使用以下代码块:

SelectTokens(String path)

这不适用于所有JSONPath表达式,并且感觉像对每个“层”下的属性都需要额外的工作。有更好的方法吗?

0 个答案:

没有答案