C#优化JSON Composer

时间:2011-10-25 14:09:29

标签: c# json optimization

我正在写一个JSON作曲家,但我对我得到的速度感到不满。

输入是哈希表和/或对象列表。

这是代码的片段。 'de'是Hash表中的DictionaryEntry,'output'是我们正在构建的json字符串。

if (de.Value.GetType() == typeof(Hashtable))
{
    output += RenderObject((Hashtable)de.Value, level + 1, format);
}

这基本上就是我整个代码的构建方式。

我的测试用例现在是一个包含10 000个哈希表的列表,每个哈希表有4个不同类型的键/值对。

在糟糕的桌面计算机上,它在60秒内生成整个字符串。输出为927 kB。

我正在寻找有关优化它的建议,并输入我应该满意的速度。我想,生成< 1mb json字符串的整整一分钟太慢了。

1 个答案:

答案 0 :(得分:4)

您需要使用StringBuilder 在递归时,您应该追加到原始的StringBuilder;不要为每个对象创建单独的StringBuilder。