在C#中处理字符串化的JS对象

时间:2012-03-26 20:48:22

标签: c# javascript json

我能够将字符串化的Javascript对象返回给我的C#项目。字符串如下所示:

  

{ “QuestionId”: “”, “QuestionTitle”: “HIU”, “OriginalURL”: “”, “OriginalTitle”: “”, “ChronicID”: “”}

如何在C#中使用这些参数轻松将其转换为Object?

更新:我搞定了。请参阅以下代码。

SearchQuery search = (SearchQuery)JsonConvert.DeserializeObject(@filterParams, typeof(SearchQuery));

3 个答案:

答案 0 :(得分:8)

使用Json.Net

dynamic dynObj = JsonConvert.DeserializeObject(jsonstr);
Console.WriteLine("{0} {1}", dynObj.QuestionId, dynObj.QuestionTitle);

使用JavaScriptSerializer

JavaScriptSerializer serializer = new JavaScriptSerializer();
var obj = serializer.Deserialize<Dictionary<string,object>>(jsonstr);
Console.WriteLine("{0} {1}", obj["QuestionId"], obj["QuestionTitle"]);

修改

string jsonstr = @"{""QuestionId"":""123"",""QuestionTitle"":""hiu"",""OriginalURL"":"""",""OriginalTitle"":"""",""ChronicID"":""""}";

答案 1 :(得分:2)

您需要一个.NET的JSON库。 JSON代表 J ava S cript O bject N otation,它基本上就是你在问题中粘贴的内容。

我个人喜欢 Json.NET

仅供参考,从您的问题中显示对象的“更漂亮”方式是:

{
   QuestionId: '',
   QuestionTitle: 'hiu',
   OriginalURL: '',
   OriginalTitle: '',
   ChronicID: ''
}

答案 2 :(得分:2)

您正在寻找JSON解析器