57 lines
1.5 KiB
C#
57 lines
1.5 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Text;
|
|
|
|
namespace ConsoleDemo
|
|
{
|
|
internal class ToJson
|
|
{
|
|
public static String Table2Json(Hashtable table)
|
|
{
|
|
|
|
StringBuilder jsonstr =new StringBuilder();
|
|
jsonstr.Append("{");
|
|
foreach (DictionaryEntry tableEntry in table)
|
|
{
|
|
if (tableEntry.Key=="itemList")
|
|
{
|
|
String liststr=list2json((ArrayList)tableEntry.Value);
|
|
|
|
jsonstr.Append(string.Format("\"{0}\":{1},", tableEntry.Key,liststr));
|
|
|
|
}
|
|
else
|
|
{
|
|
jsonstr.Append(string.Format("\"{0}\":\"{1}\",", tableEntry.Key, tableEntry.Value));
|
|
}
|
|
|
|
}
|
|
|
|
|
|
jsonstr.Append("}");
|
|
jsonstr.Remove(jsonstr.Length - 2, 1);
|
|
return jsonstr.ToString();
|
|
// Console.Write(jsonstr.ToString());
|
|
}
|
|
|
|
|
|
|
|
|
|
private static String list2json(ArrayList list)
|
|
{
|
|
StringBuilder jsonstr =new StringBuilder();
|
|
jsonstr.Append("[");
|
|
foreach (Hashtable valuelist in list)
|
|
{
|
|
jsonstr.Append(Table2Json(valuelist)) ;
|
|
jsonstr.Append(",");
|
|
}
|
|
jsonstr.Remove(jsonstr.Length - 1, 1);
|
|
jsonstr.Append("]");
|
|
|
|
return jsonstr.ToString();
|
|
}
|
|
|
|
}
|
|
} |