3

Windows 8 用のアプリに取り組んでいます。JSON 経由で Twitter を検索しようとしています。これを達成するために、次のブログ投稿を参照用に使用していました。http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/11/26/twitter-api-from-c-searching.aspx

私の問題は、ASCIIEncoding クラスが WinRT フレームワークに存在しないように見えることです:(。UTF8 が利用可能であることはわかりましたが、UTF8 クラスを直接使用する方法がわかりません。誰かが私に方法を教えてもらえますか?

ありがとうございました、

4

3 に答える 3

5

.NET (完全な .NET と WinRT の両方) で JSON を逆シリアル化するには、常にJSON.NETをお勧めします。DataContractJsonSerializer やその他のすぐに使えるソリューションよりもはるかに簡単です。以下のコードでわかるように、提供する例のようにエンコーディングを定義する必要はありません。

必要なのは、オブジェクト モデル (json2csharp を使用して生成) と数行のコードだけです。

HttpResponseMessage response = await HttpClient.GetAsync(someUri);
if (response.StatusCode == HttpStatusCode.OK)
{
    string responseString = await response.Content.ReadAsStringAsync();
    // parse to json
    resultItem = JsonConvert.DeserializeObject<T>(responseString);
}

少し前に、WinRT での JSON 解析のさまざまな可能性を示す、より広範な投稿を書きました。

于 2012-09-06T14:31:55.663 に答える
2

Windows.Data.Json 名前空間を使用して逆シリアル化を試みることができます ( http://msdn.microsoft.com/en-us/library/windows/apps/windows.data.json(v=VS.85).aspx )。json を取得するには、次のようなものを使用できます。

HttpResponseMessage response = await client.GetAsync(url);
string responseText = await response.Content.ReadAsStringAsync();
于 2012-06-11T13:08:33.510 に答える
1

置き換えるだけです - これらは基本ASCIIEncoding.UTF8Encoding.UTF8に同じオブジェクトです (静的UTF8プロパティはEncodingデスクトップ フレームワークの基本クラスで定義されます)。これは W8 メトロ アプリで利用できます。

于 2012-06-11T13:30:08.360 に答える