通过路径设置JSON属性

编程入门 行业动态 更新时间:2024-10-09 22:19:16
本文介绍了通过路径设置JSON属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

是否可以使用Json.NET通过路径设置属性?

Is there a way to set an attribute by the path, using Json.NET?

JObject o = JObject.Parse(@"{ 'CPU': 'Intel', 'Drivers': { 'Mouse': 'HPQ', 'VideoCard' : 'NVidia' } }"); //something like that o.SetByPath("Drivers.VideoCard") = "Intel";

有可能吗?

顺便说一句,我知道我可以做到:

By the way, I know that I can do this:

o["Drivers"]["VideoCard"] = "Intel";

但这不是我想要的.

推荐答案

> c0> 和 JToken.Replace 方法可在此处使用达到基本相同的效果.

The JObject.SelectToken and JToken.Replace methods can be used here to achieve essentially the same effect.

static void Main(string[] args) { JObject obj = JObject.Parse(@"{ 'CPU': 'Intel', 'Drivers': { 'Mouse': 'HPQ', 'VideoCard' : 'NVidia' } }"); Console.WriteLine(obj); JToken token = obj.SelectToken("Drivers.VideoCard"); token.Replace("Intel"); Console.WriteLine(obj); }

输出:

{ "CPU": "Intel", "Drivers": { "Mouse": "HPQ", "VideoCard": "NVidia" } } { "CPU": "Intel", "Drivers": { "Mouse": "HPQ", "VideoCard": "Intel" } }

如果需要,可以使用扩展方法来扔掉它.

Toss it in an extension method if you'd like.

static void SetByPath(this JObject obj, string path, string value) { JToken token = obj.SelectToken(path); token.Replace(value); }

更多推荐

通过路径设置JSON属性

本文发布于:2023-11-28 18:09:33,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1643430.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:路径   属性   JSON

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!