c# - 时间:2019-01-10 标签:c#convert a string into JSON like TreeView
问题描述
我有一个看起来像这样的字符串:
"es_apiResponse":{"es_evaluationTruncation":false,"es_queryEvaluationTime":1,"es_totalResults":30676,"es_totalResultsTyp e":"estimated","es_numberOfAvailableResults":500,"es_numberO fEstimatedResults":30676,"es_query": {"role":"request","sear chTerms":"yonic"}}*
这意味着它里面有一个或多个对象。这是我到目前为止想出的,但我迷失在代码中
如果 char 是“,”,则检查字符串中的每个字符,而不是在当前节点中添加新行,如果 char 是打开的“{”-> 使用前一个单词给出的名称打开一个新的子节点(如果构建了字符串构建器生成一个中间字符串,如果char是“}”,则可以使用它来获取节点的名称(不包括逗号)->关闭当前节点。
注 1 --> 我应该跟踪打开的节点吗?
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};
我的代码中还有另一个错误——>我不知道如何将名称分配给来自字符串的变量,如下所示:
tempname = sb.ToString().Replace("\"", "");
{NodeName}.Nodes.Add(tempname);
解决方案
推荐阅读
- html - Bootstrap navbar transition bug
- python - Python 3:从列表动态创建嵌套字典
- json - How to keep listening for a request at the same time process another request in python
- c# - 虽然更新并发字典中的值最好锁定字典或值
- sql-server - SQL Server varbinary bytes not decoded consistently
- android - recyclerview 项目内的滚动视图不起作用
- amazon-web-services - 通过 CloudFront 和 S3 存储桶静态 Web 托管提供私有动态内容
- css - 在 WordPress 中删除 ConvertKit 表单上的默认样式
- ng-lightning - 为什么 ng-lightning 日期选择器在选择日期时不触发(更改)事件?
- node.js - 示例 Hello World Express 应用程序正在返回二进制数据