我想创建一个有效的JSON对象,其中包含一个URL,例如
{"a": "b http://stackoverflow.com/questions/ask c"}
我可以:
- (a)逃脱了带有后斜线的URL文本中的全部向前斜线
- (b)将URL放入
\url{}
我的问题是:
还有其他方法可以做到吗?(注意:我不是是指库或工具来自动化它,而是在JSON中编码或逃脱URL的有效方法。)
哪种可能性被认为是最佳实践?
在使用JSON对象(例如Java,Python等)中解析(b)中的(b)中编码的URL编码时是否存在已知问题?
快速注意,您不必在官方JSON规范中逃脱前向斜线。但是,向前斜线是唯一可以逃脱的非特殊JSON字符。
也很快说,没有有效的(Web)URL应包含需要逃脱的字符。
在编码包含carraige返回,选项卡等的JSON字符串的情况下(例如,必须通过\
逃脱后斜线),最好的做法是遵循规格并使用后斜线逃脱字符。您提到的编程语言对后斜切的字符没有问题。
如果您这样做是有效的,但是大多数语言都允许函数使这种方式更好。(例如,C#中的替换(),以及Newtonsoft JSON Serializers and Parsers。)
查看您需要使用JSON的语言,并确保可以通过给定的功能解析或查找外部库。