0

是否有任何机制可以避免使用 DMQL 查询和 phrets 来自 RETS 服务器的垃圾/特殊字符?

例如:避免数据中包含双引号(“值”)。还要避免像 ("value/") 这样的字符组合,这也会引起很多问题。

使用 php 脚本下载后,我可以逃脱。但接下来的问题是,任何处理这种从 RETS 逃脱的直接方法都结束了?

谢谢

4

1 回答 1

0

我在规范中找不到任何可以为您转义或忽略字符的内容。此功能超出了 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。

于 2017-01-19T07:17:43.893 回答