2010-06-27 68 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