【问题标题】:JSON String gets cutoff When emoji is in data [closed]当表情符号在数据中时,JSON字符串被切断[关闭]
【发布时间】:2016-05-27 12:25:11
【问题描述】:

我有一个返回数据的 VB.Net Web 服务是一个 JSON 字符串。返回的某些数据中可能包含 EMOJI。当我返回没有 EMOJI 的数据时,数据恢复正常。

像这样 -

[
  {
    "ImgID": "150",
    "ImgDesc": "Added to your portfolio",
    "PublicID": "c0lbquvzitd3igohfh7x",
    "ImgURL": "test.com",
    "LikeCount": "0",
    "CommentCnt": "2",
    "PickCount": "",
    "ServerUpdateDate": "1\/17\/2016 3:13:21 PM",
    "UserName": "Deathstarspa",
    "ProfileImgID": "hqhoiohfckzldgpdem6k",
    "Location": "Chester County, PA, USA",
    "dltflg": "False",
    "PortName": "2 0 1 6 | M E N S",
    "Categories": "Blowouts"
  },
  {
    "ImgID": "151",
    "ImgDesc": "Stone cold",
    "PublicID": "udecff1bi0ymhewp1qlv",
    "ImgURL": "Test.com",
    "LikeCount": "0",
    "CommentCnt": "0",
    "PickCount": "",
    "ServerUpdateDate": "1\/17\/2016 3:17:26 PM",
    "UserName": "Deathstarspa",
    "ProfileImgID": "hqhoiohfckzldgpdem6k",
    "Location": "Chester County, PA, USA",
    "dltflg": "False",
    "PortName": "2 0 1 6 | M E N S",
    "Categories": "Test"
  }
]

如果数据在字符串的任何地方都有表情符号,则字符串在最后会被截断。

表情符号在数据中的位置无关紧要。

喜欢-

[
  {
    "ImgID": "161",
    "ImgDesc": "Bed ?????",
    "PublicID": "gnw6ooo04ls21kqq8doo",
    "ImgURL": "test.com",
    "LikeCount": "0",
    "CommentCnt": "0",
    "PickCount": "",
    "ServerUpdateDate": "2\/11\/2016 8:18:03 PM",
    "UserName": "Deathstarspa",
    "ProfileImgID": "hqhoiohfckzldgpdem6k",
    "Location": "Chester County, PA, USA",
    "dltflg": "False",
    "PortName": "Bed Pics",
    "Categories": "Blowouts,Treatments"
  },
  {
    "ImgID": "162",
    "ImgDesc": "Bed ?????",
    "PublicID": "lrdxpvwxoq5zxpkagamo",
    "ImgURL": "test.com",
    "LikeCount": "0",
    "CommentCnt": "0",
    "PickCount": "",
    "ServerUpdateDate": "2\/11\/2016 8:18:05 PM",
    "UserName": "Deathstarspa",
    "ProfileImgID": "hqhoiohfckzldgpdem6k",
    "Location": "Chester County, PA, USA",
    "dltflg": "False",
    "PortName": "Test Pics"

虽然您在 ImgDesc 片段中看不到表情符号,但 ????? 代表表情符号。所以ImgID 161 的记录是完整的,但是162ImgID 的记录在"Test Pics," 处被截断。如果我从 ImgDesc 中删除表情符号,那么数据就会恢复正常。

我正在与VB.NET 合作,并且我引用了Newtonsoft.Json dll

我需要做些什么以使 emojis 不会引起问题吗?

【问题讨论】:

  • 可能的问题包括: 1) 您正在使用错误的编码下载 JSON,例如 here 所示。 2) JSON 在发送端编码错误,例如here。为了让我们提供更多帮助,我们需要查看您下载和反序列化 JSON 的代码的 minimal, complete example,以及您收到的完整字节流或字符串。

标签: json vb.net json.net emoji


【解决方案1】:

您需要按照 JSON 标准正确编码表情符号。请参阅下面的相关答案:

how can I Deserialize emoji in json in C#

【讨论】:

    猜你喜欢
    • 2017-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 2017-02-09
    • 2018-06-20
    • 1970-01-01
    相关资源
    最近更新 更多