Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Node ParseText(string text)
- {
- if (!text.StartsWith("{")) return null;
- Node node = new Node();
- string buf = "";
- int brackets = 0;
- bool quotes = false;
- string unbracket = text.Substring(1, text.Length - 2);
- foreach (char c in unbracket)
- {
- if (c == '{')
- brackets++;
- if (c == '"')
- quotes = !quotes;
- if (c == ',' && brackets == 0 && !quotes)
- {
- Node parsed = ParseText(buf) ?? new Node() { Value = buf };
- node.Nodes.Add(parsed);
- buf = "";
- }
- else
- {
- buf += c;
- }
- if (c == '}')
- brackets--;
- }
- if (buf != "")
- {
- Node parsed = ParseText(buf) ?? new Node() { Value = buf };
- node.Nodes.Add(parsed);
- }
- return node;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement