2010-06-27 32 views
2

抱歉愚蠢的問題,以字符串轉換成JSON,但我陷轉換例如下面的結果從一個方法爲JSON如何用牛頓的JSON庫

public string Test(string input) 
{ 
    return "Name:"+input; 
} 

看起來像這樣 {「姓名」 :「邁克」}

更新: 達林現在固定的第一個問題,我使用這種方式,但它不工作

  StringBuilder sb = new StringBuilder(); 
      StringWriter sw = new StringWriter(sb); 

      using (JsonWriter jsonWriter = new JsonTextWriter(sw)) 
      { 
       jsonWriter.Formatting = Formatting.Indented; 


       jsonWriter.WritePropertyName("Name"); 
       jsonWriter.WriteValue("Mike"); 



      } 

我得到

'{"Name":{"m_MaxCapacity":2147483647,"Capacity":16,"m_StringValue":"\\"Name\\": \\"Mike\\"","m_currentThread":0}}'; 
+0

你不能改變「從方法到Json」;你需要一個具有屬性的c#對象,它將在Json中表示。 – jvenema 2010-06-27 17:32:03

回答

2

您可以使用JavaScriptSerializer類:

public string Test(string input) 
{ 
    var serializer = new JavaScriptSerializer(); 
    return serializer.Serialize(new { Name = input }); 
} 

用法示例:

string json = Test("Mike"); // json = {"Name":"Mike"} 

UPDATE:

沒注意到你使用需要的解決方案Json.NET library。這裏有一個:

string json = JsonConvert.SerializeObject(new { Name = input }); 
+0

你剛剛做了我的一天,我是多麼愚蠢,非常感謝 – DevMania 2010-06-27 17:52:50