我想创建一个包含URL的有效json对象,例如
{"a": "b http:\/\/stackoverflow.com\/questions\/ask c"}
我可以:
\\url{}
我的问题是:
还有其他方法吗? (注意:我不是指自动化它的库或工具,而是在json中编码或转义URL的有效方法。)
哪种可能性被认为是最佳做法?
在使用json对象(如Java,Python等)的主要编程语言中解析像(B)中的URL编码时,是否存在已知问题?
答案 0 :(得分:0)
如果您这样做是有效的,但大多数语言都允许使这种方式更好的功能。 (例如,在C#中使用replace(),以及使用newtonsoft json序列化器和解析器。)
查看使用JSON所需的语言,并确保它可以通过给定的函数进行解析,或者查找外部库。
答案 1 :(得分:0)
快速说明您不必在the official JSON spec中转义正斜杠。但是,正斜杠是allowed to be escaped唯一的非特殊JSON字符。
另请注意,没有有效的(网络)网址应包含需要转义的字符。
在稍微宽泛的编码包含carraige返回,制表符等的JSON字符串的情况下(例如反斜杠必须通过\\
进行转义),最佳做法是遵循规范并使用反斜杠转义字符。您提到的编程语言对反斜杠转义字符没有任何问题。