JSON 当表情符号在数据中时,字符串被截断
JSON String gets cutoff When emoji is in data
我有一个 VB.Net Web 服务,其中 return 的数据是一个 JSON 字符串。 returned 的某些数据可能包含 EMOJI。当我 return 没有 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
的记录是完整的,但是 162
的 ImgID
的记录在 "Test Pics,"
处被截断。如果我从 ImgDesc 中删除表情符号,那么数据就会恢复正常。
我正在使用 VB.NET
并且我引用了 Newtonsoft.Json dll
。
我需要做些什么才能使 表情符号 不会引起问题吗?
您需要根据 JSON 标准对表情符号进行正确编码。请参阅下面的相关答案:
how can I Deserialize emoji in json in C#
我有一个 VB.Net Web 服务,其中 return 的数据是一个 JSON 字符串。 returned 的某些数据可能包含 EMOJI。当我 return 没有 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
的记录是完整的,但是 162
的 ImgID
的记录在 "Test Pics,"
处被截断。如果我从 ImgDesc 中删除表情符号,那么数据就会恢复正常。
我正在使用 VB.NET
并且我引用了 Newtonsoft.Json dll
。
我需要做些什么才能使 表情符号 不会引起问题吗?
您需要根据 JSON 标准对表情符号进行正确编码。请参阅下面的相关答案:
how can I Deserialize emoji in json in C#