是否有任何机制可以避免使用 DMQL 查询和 phrets 来自 RETS 服务器的垃圾/特殊字符?
例如:避免数据中包含双引号(“值”)。还要避免像 ("value/") 这样的字符组合,这也会引起很多问题。
使用 php 脚本下载后,我可以逃脱。但接下来的问题是,任何处理这种从 RETS 逃脱的直接方法都结束了?
谢谢
我在规范中找不到任何可以为您转义或忽略字符的内容。此功能超出了 RETS 的范围。
这里提出的真正问题是如何将 JSON 编码为 CSV 格式。
这是您要编码的字符串
"one","two"
说它存储在start
变量中
让我们将其编码为 JSON 对象:
jsonString = '{"data":"' + start.Replace('"','\\"') + '"}';
-> {"data":"\"one\",\"two\""}
在jsonlint.com上对其进行测试并观察其有效的 JSON
因此,如果您需要将其存储在 CSV 文件中,则必须再次对其进行编码。
string csvJsonString = '"' + jsonString.Replace('"','""') + '"';
-> "{""data"":""\""one\"",\""two\""""}"
string validCsv = csvJsonString + "," + csvJsonString
-> "{""data"":""\""one\"",\""two\""""}","{""data"":""\""one\"",\""two\""""}"
在csvlint.io上对此进行测试,并查看其有效的 CSV。
此时字符串 validCsv 当然不再是有效的 JSON,它必须由 CSV 阅读器解析回 JSON。