2014-09-28 186 views
-1

環境:ASP.NET C#的JavaScript/JQuery的返回JSON字符串

我的最終目標是:

{ 
"LblMonthly" : "炒麵炒麵 炒麵 (", 
"lblName": "testing#"//''""""""" ", 
"lblTest": "First Name" 
} 

我使數據調用SQL,並返回上述2列( labelName,labelValue)。

像這樣:

 public static string GetLanguage() 
    { 

     InnoCommonDataContext db = new InnoCommonDataContext(); 
     List<ps_TST_ReturnControlTitleResult> e = new List<ps_TST_ReturnControlTitleResult>(); 
     e = db.ps_TST_ReturnControlTitle().ToList(); 

     return new JavaScriptSerializer().Serialize(e); 

    } 

我想,要像上述要求的字符串。 我不確定我是否使用了正確的方法。

注意:我確實希望它是一個字符串作爲回報。

我需要處理特殊字符和多種語言。

在此先感謝。

+1

不知道這是否有幫助,但檢查[JSON](http://james.newtonking.com/json)。 – afaolek 2014-09-28 13:51:22

+0

我在考慮Json.Net。只是認爲我不應該爲簡單的名稱/值添加另一個框架。 – Killilea 2014-09-28 14:02:06

回答

2

使用要返回的3個屬性(LblMonthly, lblName,lblTest)創建一個DTO類。用適當的值填充DTO,然後序列化爲JSON。

public class DTO 
{ 
    public string Monthly { get; set; } 
    public string Name { get; set; } 
    public string Test { get; set; } 
} 

var d = new DTO() { 
    Monthly = "value1", 
    Name = "value2", 
    Test = "value3" 
}; 

// Using JSON.Net 
var json = JsonConvert.SerializeObject(d); 
+0

我沒有使用MVC。返回僅爲名稱/值。我用它來控制標籤。所以我需要Ctrl1 ='Name',Ctrl2 ='Address',Ctrl3 ='Phone'等 – Killilea 2014-09-28 13:59:57

+0

上面的'json'字符串將返回您的最終目標。它不一定是'MVC'。你可以任意調用DTO類。 – Walnuts 2014-09-29 14:25:38