如何在Azure功能中添加框架程序集

时间:2016-08-09 17:15:00

标签: azure .net-assembly azure-functions

我需要将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"

如何解决此问题?

2 个答案:

答案 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。

相关问题