簡體   English   中英

修改從C#AJAX調用返回的JSON數據

[英]Modifying JSON Data Returned from C# AJAX Call

我正在執行ajax調用來檢索查詢返回的JSON數據。 我的JSON返回以下內容(准確地):

[{
    "label": "",
    "value": "2302"
}, {
    "label": "9 - Contract set-up in EPICOR",
    "value": "2280"
}, {
    "label": "2 - Verify PO received",
    "value": "2279"
}, {
    "label": "7 - Review quote and prepare team for meeting",
    "value": "2281"
}]

但我需要它才能真正返回:

{
    "options": {
        "logan_dvprTasks.taskID": {
            [{
                "label": "",
                "value": "2302"
            }, {
                "label": "9 - Contract set-up in EPICOR",
                "value":"2280"
            }, {
                "label": "2 - Verify PO received",
                "value":"2279"
            }, {
                "label": "7 - Review quote and prepare team for meeting",
                "value":"2281"
            }]
        }
    }

我生成JSON的代碼是:

public IEnumerable<updatetasks> GetAllItems(string dvprid)
{
    string stringSQL = "sqlStatement goes here";

    string connString = ConfigurationManager.ConnectionStrings["loganWebConn"]
                                            .ConnectionString;

    using (SqlConnection sqlConnection = new SqlConnection(connString))
    {
        sqlConnection.Open();

        using (SqlCommand cmd = sqlConnection.CreateCommand())
        {
            cmd.CommandText = stringSQL;
            cmd.CommandType = CommandType.Text;

            using (SqlDataReader reader = cmd.ExecuteReader())
            {
                while (reader.Read())
                {
                    var updatetasks = new updatetasks();
                    updatetasks.label = reader["taskName"].ToString();
                    updatetasks.value = reader["taskID"].ToString();
                    yield return updatetasks;
                }
            }
        }
    }
}    

如何修改C#代碼以在JSON對象的開頭添加這兩項?

通過返回您想要的對象。

將您的ajax調用更改為此方法,然后將其返回。

public object MyCall(string dvprid)
{
    return new
    {
        options = new
        {
            logan_dvprTasks = GetAllItems(dvprid)
        };
    };
}

請記住. (點)在C#標識符上無效,因此我將您的logan_dvprTasks.taskID簡稱為logan_dvprTasks

如果您將taskID設置為logan_dvprTasks的屬性,則生成的JSON將是

{"options":{"logan_dvprTasks":{"taskID":[...]}}}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM