123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- using Newtonsoft.Json.Linq;
- using System.Windows.Forms;
- using System.Collections.Generic;
-
-
-
-
- //namespace LrGetToken
- //{
- // public class NodeAdder
- // {
- // // 用于存储列名顺序
- // public List<string> nodeNames = new List<string>();
-
- // public void AddNode(JToken token, TreeNodeCollection nodes)
- // {
- // // 存储正常的节点
- // List<TreeNode> normalNodes = new List<TreeNode>();
-
- // // 存储值为0或null的节点
- // List<TreeNode> specialNodes = new List<TreeNode>();
-
- // foreach (JProperty property in token.Children<JProperty>())
- // {
- // // 创建新的节点
- // TreeNode node = new TreeNode(property.Name);
-
- // // 确保节点名称不重复
- // if (!nodes.ContainsKey(node.Text))
- // {
- // // 添加节点
- // TreeNode valueNode = node.Nodes.Add("Value: " + property.Value.ToString());
-
- // // 判断值是否为0或null
- // if (property.Value.Type == JTokenType.Null || property.Value.ToString() == "0")
- // {
- // specialNodes.Add(node);
- // }
- // else
- // {
- // normalNodes.Add(node);
- // }
-
- // // 将节点名称添加到顺序列表
- // nodeNames.Add(node.Text);
-
- // // 递归处理嵌套的子节点
- // AddNode(property.Value, node.Nodes);
- // }
- // }
-
- // // 先添加正常的节点
- // foreach (TreeNode normalNode in normalNodes)
- // {
- // nodes.Add(normalNode);
- // }
-
- // // 最后添加值为0或null的节点
- // foreach (TreeNode specialNode in specialNodes)
- // {
- // nodes.Add(specialNode);
- // }
- // }
- // }
- //}
-
-
-
-
- namespace LrGetToken
- {
- public class NodeAdder
- {
- public void AddNode(JToken token, TreeNodeCollection nodes)
- {
- // 存储正常的节点
- List<TreeNode> normalNodes = new List<TreeNode>();
-
- // 存储值为0或null的节点
- List<TreeNode> specialNodes = new List<TreeNode>();
-
- foreach (JProperty property in token.Children<JProperty>())
- {
- // 创建新的节点
- TreeNode node = new TreeNode(property.Name);
-
- // 确保节点名称不重复
- if (!nodes.ContainsKey(node.Text))
- {
- TreeNode valueNode = node.Nodes.Add("Value: " + property.Value.ToString());
-
- // 判断值是否为0或null
- if (property.Value.Type == JTokenType.Null || property.Value.ToString() == "0")
- {
- // 如果是0或null,将节点添加到 specialNodes
- specialNodes.Add(node);
- }
- else
- {
- // 否则添加到 normalNodes
- normalNodes.Add(node);
- }
-
- // 递归处理嵌套的子节点
- AddNode(property.Value, node.Nodes);
- }
- }
-
- // 先添加正常的节点
- foreach (TreeNode normalNode in normalNodes)
- {
- nodes.Add(normalNode);
- }
-
- // 最后添加值为0或null的节点
- foreach (TreeNode specialNode in specialNodes)
- {
- nodes.Add(specialNode);
- }
- }
- }
- }
|