首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误的JSON转义序列

问错误的JSON转义序列
EN

Stack Overflow用户
提问于 2015-11-03 19:00:42
回答 1查看 4.6K关注 0票数 0

我有这个JSON字符串:

代码语言:javascript
复制
{"Time":"11/03/2015 05:32:29.273","Message":"Error loading chirps. Cannot create file \U+0022E:\U+005CUsers\U+005Cgwardell\U+005CDocuments\U+005CSRChirp\U+005CPictures\U+0022. Access is denied","Source":"BT","Method":"GetChirpsFromServer.SaveMedia.SaveBitmap","ChirpID":"9851","LogType":"Error","DeviceType":"Win","Action":"RecordLog","UserID":"98000001","DeviceID":"3675"}

据我所知,它符合RFC7159 JSON标准。

这个验证器告诉我没问题:http://freeformatter.com/json-validator.html

但是,当我通过下面的代码运行它时:

代码语言:javascript
复制
public class TAction
{
    public string Action = ""; 
}
...
TAction Params = JsonConvert.DeserializeObject<TAction>(JSON);

我得到了:

代码语言:javascript
复制
Newtonsoft.Json.JsonReaderException: Bad JSON escape sequence: \U. Path 'Message', line 1, position 88.

在第88位是第一个转义的静音标记:\U+0022

怎么啦?

这是JsonConvert中的错误吗?

EN

回答 1

Stack Overflow用户

发布于 2015-11-09 07:47:35

我开始使用\u0022和\“,然后\n进行得很好。

然后我有了另一个想法,更仔细地查看了我在移动客户端上使用的类,发现除了ToString之外,TJSONObject (Delphi Object Pascal)还有另一个stringify方法,它不做任何转义。事实证明,ToJSON方法完成了所有必需的转义,并且与JsonConvert (在我的Asp.net web服务中)兼容,所以我根本不需要进行任何自定义转义。

谢谢你的指点。他们把我引向了正确的方向。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33497440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档