web-dev-qa-db-ja.com

JSONConvertを使用して変数Resultをオブジェクトに変換するにはどうすればよいですか?

Linux用の.NET Coreをコンソールプログラムに使用しています。 Http機能を使用すると、Webサービスから情報を取得できます。次に、結果をオブジェクトにキャストしようとしていますが、JSONを使用できません。

この記事 を読みましたが、例が見つからず、JavaScriptSerializerにアクセスできません

    public async void CallApi(Object stateInfo)
    {
        var client = new HttpClient();
        var requestContent = new FormUrlEncodedContent(new[] { new KeyValuePair<string, string>("pair", "XETHZEUR"), });
        HttpResponseMessage response = await client.PostAsync("https://api.kraken.com/0/public/Trades", requestContent);
        HttpContent responseContent = response.Content;
        using (var reader = new StreamReader(await responseContent.ReadAsStreamAsync()))
        {
            String result = await reader.ReadToEndAsync();
            //Here I would like to do a deserialized of my variable result using JSON (JObject obj = (JObject)JsonConvert.DeserializeObject(result);) But I don't find any JSON object
        }
    }

[〜#〜] edit [〜#〜]JSONを使用して変数の結果をオブジェクトに変換する方法を知りたい通常、c#で:

        JObject obj = (JObject)JsonConvert.DeserializeObject(result);

あなたが私を助けることができることを願っています。

どうもありがとう、

6
eldondano

Jsonをデシリアライズするのに役立つ、.NETコアで使用できる何らかの依存関係が必要になります。

Newtonsoft.Jsonは事実上の標準であり、.NETコアで使用できるため、project.jsonファイルに追加する必要があります。

_"dependencies" {
...
"Newtonsoft.Json": "10.0.3"
},
_

クラス内の適切なusingステートメント

_using Newtonsoft.Json
_

JsonConvert.DeserializeObject(json);を使用して逆シリアル化できます

_    public async void CallApi(Object stateInfo)
{
    var client = new HttpClient();
    var requestContent = new FormUrlEncodedContent(new[] { new KeyValuePair<string, string>("pair", "XETHZEUR"), });
    HttpResponseMessage response = await client.PostAsync("https://api.kraken.com/0/public/Trades", requestContent);
    HttpContent responseContent = response.Content;
    using (var reader = new StreamReader(await responseContent.ReadAsStreamAsync()))
    {
        String result = await reader.ReadToEndAsync();
        //Here I would like to do a JSON Convert of my variable result
        var yourObject = JsonConvert.DeserializeObject(result);
    }
}
_
1
pijemcolu