c#将字符串转换为类似于TreeView的JSON

时间:2018-12-12 13:48:34

标签: c# treenode

我有一个看起来像这样的字符串:

  

“ es_apiResponse”:{“ es_evaluationTruncation”:false,“ es_queryE   valuationTime“:1,” es_totalResults“:30676,” es_totalResultsTyp   e“:”估计“,” es_numberOfAvailableResults“:500,” es_numberO   fEstimatedResults“:30676,” es_query“:{” role“:” request“,” sear   chTerms“:” yonic“}} *

表示它内部有一个或多个对象。这是我到目前为止提出的内容,但是我迷失了代码

检查字符串中的每个角色 如果char是“,”则在当前节点中添加新行 如果char是一个打开的“ {”->用previos单词给定的名称打开一个新的子节点(如果构建了字符串生成器以生成中间字符串,则可以使用中间的字符串来获得该节点的名称,而无需使用逗号) 如果char为“}”->关闭当前节点。

注意1->我应该跟踪打开的节点吗?

wm withdraw .

我的代码中还有另一个错误->我不知道如何为来自像这样的字符串的变量分配名称:

    TreeNode StringToTree(string convertME, string treeNodeName)
    {
        TreeNode treeNode = new TreeNode();
        string NodeName = treeNodeName;
        string converted = convertME;
        string tempname = null;
        int i = 0;
        char c;
        StringBuilder sb = new StringBuilder();
        int len = convertME.Length;
        convertME.Replace(',','\n');
        for (i = 0; i == len; i++)
        {

            if (converted.ElementAt(i) == 44)
            {
                {tempname}.Nodes.Add(sb.ToString());
                sb.Length = 0;
            }
            if (converted.ElementAt(i) == 123)
            {

                tempname = sb.ToString().Replace("\"", "");
                {NodeName}.Nodes.Add(tempname);
                sb.Length = 0;

            }
            if (converted.ElementAt(i) == 125)
            {
                {tempname}.Nodes.Add(sb.ToString());
                sb.Length = 0;
            }

            sb.Append(convertME.ElementAt(i));
        }
        return {tempname};

0 个答案:

没有答案