Site.CodeReference2的历史版本

隐藏细微更改 - 以实际显示效果显示

2016年-04月-15日127.0.0.1 -
在 64-118 行中增加以下内容:

    return sJson;
}

!!%second%生成JSON方法2:用Newtonsoft.Json
'''目标框架:.NET Framework 4及以上'''

'''引用组件:Newtonsoft.Json.dll'''

下载地址http://downloads.cmcloud.cn/kis/kis_src/Newtonsoft.Json.rar

'''using Newtonsoft.Json;'''

'''using System.IO;'''

private string createJsonString2()
{
    String sJson = "";
    StringWriter sw = new StringWriter();
    JsonWriter writer = new JsonTextWriter(sw);

    writer.WriteStartObject();
        writer.WritePropertyName("a1");
        writer.WriteValue("1");

        writer.WritePropertyName("a2");
        writer.WriteValue("2");

        writer.WritePropertyName("a3");
        writer.WriteStartArray();
            writer.WriteStartObject();
                writer.WritePropertyName("b1");
                writer.WriteValue("3");
                writer.WritePropertyName("b2");
                writer.WriteValue("4");
            writer.WriteEndObject();

            writer.WriteStartObject();
                writer.WritePropertyName("b1");
                writer.WriteValue("5");
                writer.WritePropertyName("b2");
                writer.WriteValue("6");
            writer.WriteEndObject();
        writer.WriteEndArray();

        writer.WritePropertyName("a4");
        writer.WriteStartArray();
            writer.WriteValue("7");
            writer.WriteValue("8");
        writer.WriteEndArray();
    writer.WriteEndObject();

    writer.Flush();

    sJson = sw.GetStringBuilder().ToString();
2016年-04月-15日127.0.0.1 -
在 1-66 行中增加以下内容:
!用对象生成JSON串

用对象组建JSON数据可很好地避免拼接字符串的困扰,如符号或多或少造成整个字符串不是合法的JSON串。
下面以生成如下JSON串为例介绍代码示例:

{
    "a1": "1",
    "a2": "2",
    "a3": [
        {
            "b1": "3",
            "b2": "4"
        },
        {
            "b1": "5",
            "b2": "6"
        }
    ],
    "a4": [
        "7",
        "8"
    ]
}

!!%second%C#版
下载源代码:http://downloads.cmcloud.cn/kis/kis_src/code/Json_CSharp_VS2010.rar

!!%second%生成JSON方法1:用JavaScriptSerializer(微软自带的)

'''引用.net组件:System.Web.Extensions'''

'''using System.Web.Script.Serialization;'''

'''using System.Collections;'''

private string createJsonString1() {
    String sJson = "";
    Hashtable htroot = new Hashtable();
    List<Hashtable> lst = null;
    List<String> lststr = null;
    Hashtable ht = null;

    htroot.Add("a1", "1");
    htroot.Add("a2", "2");

    lst = new List<Hashtable>();
    ht = new Hashtable();
    ht.Add("b1", "3");
    ht.Add("b2", "4");
    lst.Add(ht);
    ht = new Hashtable();
    ht.Add("b1", "5");
    ht.Add("b2", "6");
    lst.Add(ht);
    htroot.Add("a3", lst);

    lststr = new List<String>();
    lststr.Add("7");
    lststr.Add("8");
    htroot.Add("a4", lststr);

    JavaScriptSerializer jss = new JavaScriptSerializer();
    sJson = jss.Serialize(htroot);

    return sJson;
}