是否有任何机制可以使用DMQL查询和phrets来避免来自RETS服务器的垃圾/特殊字符?
例如:避免从数据中包含双引号("值")。同样避免像("值/")那样的字符组合,这也会导致很多问题。
我可以使用php脚本下载后逃脱。但问题是,从RETS处理这种逃避的任何直接方法都会自行结束吗?
由于
答案 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。