簡體   English   中英

將JSON發布到Azure網站

[英]Post JSON to Azure website

我有一個使用JsonTextWriter創建JSON格式化字符串的字符串。 如果要將其存儲在Azure網站中如何與之交互? 我正在考慮使用類似的httpWebRequest

 string webAddr = "http://{url to website}/test.json";
 HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(webAddr);
 httpWebRequest.ContentType = "application/json; charset=utf-8";
 httpWebRequest.Method = "POST"; 

 StringWriter strwriter = new StringWriter();
 JsonTextWriter writer = new JsonTextWriter(strwriter);
 writer.WriteStartObject();
 writer.WritePropertyName("id");
 writer.WriteValue(v.id);
 writer.WriteEndObject();

 using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
    {
        string json = strwriter.ToString();

        streamWriter.Write(json);
    }

但是我似乎無法弄清楚如何將JSON實際發布到文件中。 我有什么想念的嗎?

我認為最好將其存儲在VM /網站的本地存儲中,以避免發生CORS問題,除非Blob存儲比本地存儲有優勢。

您正在那里,接下來您需要實際分發請求:

HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();

您可以閱讀返回的正文(如果需要):

using (httpWebResponse)
{
    StreamReader reader = new StreamReader(httpWebResponse.GetResponseStream());

    string response_body = reader.ReadToEnd();
}

假設您只是想將主體轉儲到文件系統中(出於參數考慮):

using (httpWebResponse)
{
    ...

    using (var file = new FileStream("some\path\to\file.json",FileMode.Create,FileAccess.Write,FileShare.None))
    {
        StreamWriter writer = new StreamWriter(file,Encoding.UTF8);

        writer.Write(response_body);
        writer.Flush();
    }
}

但是,這不適用於非VM網站,因為您可能不得不將文件避開到Blob存儲中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM