Facebook Graph API - 非英文专辑名称

Yar*_*evi 4 encoding facebook hebrew non-english

我想做一件简单的事 - 拿到我所有的专辑.问题是专辑名称是非英语(他们是希伯来语).

检索相册的代码:

string query = "https://graph.facebook.com/me/albums?access_token=...";
string result = webClient.DownloadString(query);
Run Code Online (Sandbox Code Playgroud)

这是其中一个返回的专辑的样子:

{
     "id": "410329886431",
     "from": {
        "name": "Noam Levinson",
        "id": "500786431"
     },
     "name": "\u05ea\u05e2\u05e8\u05d5\u05db\u05ea \u05d2\u05de\u05e8 \u05e9\u05e0\u05d4 \u05d0",
     "location": "\u05e9\u05e0\u05e7\u05e8",
     "link": "http://www.facebook.com/album.php?aid=193564&id=500786431",
     "count": 27,
     "type": "normal",
     "created_time": "2010-07-18T06:20:27+0000",
     "updated_time": "2010-07-18T09:29:34+0000"
  },
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,问题出在"name"属性中.我没有希伯来字母,而是获得那些代码(这些代码不是垃圾,它们是一致的 - 每个代码可能代表一个希伯来字母).问题是,如何将这些代码转换为非英语语言(在我的例子中,希伯来语).或者问题是我如何使用webClient对象检索相册.也许改变webclient.Encoding不知何故?

我该怎么做才能解决这个问题?

提前致谢.

Pet*_*ley 5

这就是用JSON表示Unicode的方式(参见char侧栏中的定义).它们是转义序列,其中四个十六进制数字是字符的Unicode代码点.请注意,由于只有四个十六进制数字可用,因此只能使用JMP表示BMP中的 Unicode字符.

任何体面的JSON解析器都会将这些Unicode转义序列转换为适当编码的字符 - 只要目标编码首先支持该字符.