首页 > 解决方案 > 在线托管 json 文件的问题并按 c# HttpClient 发布它们

问题描述

我正在编写一个 C# Android 应用程序并将我的数据存储在网站 jsonbin.io 我已经在一个 javascript 项目中使用过这个网站,它在那里运行良好。数据的读取已经实现并且可以工作,但不是要发布的功能。在网站上,您必须在标题中放置一个所谓的 X-Master-Key 以进行验证。

JSONBIN 链接

HttpRequest的工作代码:

           WebRequest web = HttpWebRequest.Create("https://api.jsonbin.io/b/"BIN-CODE"/latest");
        web.Headers.Add("X-Master-Key:THE-MASTER-KEY");
        web.GetResponse();
        HttpWebResponse response = web.GetResponse() as HttpWebResponse;
        using (Stream responseStream = response.GetResponseStream())
        {
            StreamReader reader = new StreamReader(responseStream, Encoding.UTF8);
            json = reader.ReadToEnd()
        }

我的 JavaScript 项目中带有读写部分的工作代码:

 writeJSON: function()
{
    var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
    let req = new XMLHttpRequest();        
    req.open("PUT", "https://api.jsonbin.io/b/"BIN-CODE"", true);
    req.setRequestHeader("Content-Type", "application/json");
    req.setRequestHeader("X-Master-Key", "THE-MASTER-KEY");
    
    req.send(JSON.stringify(this.file));
},
readJSON: async function () {
    var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
   
    let req = new XMLHttpRequest();
    
    req.onreadystatechange = () => {
      if (req.readyState == 4) {
        this.file= JSON.parse(req.responseText);
      }
    
    };
    
    req.open("GET", "https://api.jsonbin.io/b/"BIN-CODE"/latest", true);
    req.setRequestHeader("X-Master-Key", "THE-MASTER-KEY");
    req.send();
  
}

这里还有一些网站的图片,以便更好地理解:

在页面上编辑 JSON

调用代码中也提到的 URL

标签: c#jsonxamarinhttprequesthttpclient

解决方案


推荐阅读