如何使用phrets避免使用RETS的特殊字符?

时间:2016-12-20 07:34:10

标签: rets phrets

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

例如:避免从数据中包含双引号("值")。同样避免像("值/")那样的字符组合,这也会导致很多问题。

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

由于

1 个答案:

答案 0 :(得分:0)

我在规范中找不到任何可以逃脱或忽略字符的内容。此功能超出了RETS的范围。

这里要问的真正问题是如何以CSV格式编码JSON。

这是您要编码的字符串

"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。