2016-08-09 41 views
2

我需要System.Web.Script.Serialization和System.Web.Extensions程序添加到我的功能的應用程序,這樣我可以用下面的代碼反序列化JSON字符串:如何添加框架組件在Azure的功能

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" 

如何添加解決這個問題?

回答

1

初始基準可能失敗,因爲你試圖集引用添加到System.Web.Script.Serialization,這是一個命名空間。添加對System.Web.Extensions的引用應該可以工作,但仍然推薦使用Json.NET。

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}");