如何将JToken转为字符串存入对象?替代SelectToken的实现方法
实现方案
核心方法
JToken本身提供了直接转换为JSON字符串的方法,无需额外复杂操作,利用ToString()重载即可满足需求:
1. 存储整个executive的完整JSON结构
如果需要保存整个executive的内容,直接调用带格式化参数的ToString()方法,生成易读的缩进格式JSON:
// 先确保myObj已定义executiveRaw字段(类型为string) myObj.executiveRaw = executive.ToString(Newtonsoft.Json.Formatting.Indented);
若不需要格式化,可直接用默认的ToString()生成紧凑格式:
myObj.executiveRaw = executive.ToString();
2. 存储指定路径"$.value"对应的JSON结构
先通过SelectToken()定位到目标JToken,再转换为字符串,同时处理可能的空值情况:
var targetToken = executive.SelectToken("$.value"); // 当targetToken为null时,赋值空字符串避免空引用异常 myObj.executiveRaw = targetToken?.ToString(Newtonsoft.Json.Formatting.Indented) ?? string.Empty;
说明
- 你的代码已经在使用
JToken.SelectToken(),说明项目已引用Newtonsoft.Json(Json.NET),无需额外引入依赖。 - 格式化后的JSON字符串在调试项目中可以直接查看,或粘贴到JSON格式化工具中分析结构。
内容的提问来源于stack exchange,提问作者enum21
相关产品推荐
相关产品推荐

