我需要将System.Web.Script.Serialization和System.Web.Extensions添加到我的函数应用程序中,以便我可以使用以下代码反序列化json字符串:
JavaScriptSerializer serializer = new JavaScriptSerializer();
dynamic item = serializer.Deserialize<object>("{ \"test\":\"some data\" }");
string test= item["test"];
这不起作用:
#r "System.Web.Script.Serialization"
#r "System.Web.Extensions"
如何解决此问题?
答案 0 :(得分:2)
我无法完成这项工作,因此我最终使用了Newtonsoft Json序列化器/解串器。您需要做的是,按照this instruction将project.json文件上传到您的功能应用中并使用此内容 -
{
"frameworks": {
"net46":{
"dependencies": {
"Newtonsoft.Json": "9.0.1"
}
}
}
}
这基本上会产生依赖性。然后将此名称空间添加到您的代码中:“使用Newtonsoft.Json.Linq”。瞧,你可以把你的json字符串转换成这样的对象:
dynamic item = JObject.Parse("{number:1000}");
log.Info($"My number is: {item.number}");
答案 1 :(得分:1)
初始引用可能失败,因为您尝试将程序集引用添加到System.Web.Script.Serialization
,这是一个名称空间。添加对System.Web.Extensions
的引用应该有效,但无论如何都建议使用Json.NET。