最近做需求时候, 遇到一个后端联调问题, 需求是 后端A 把一个 json 转成 string 后放到 scheme 的payload
参数中, json 如下, text1
是一个字符串,
1 | { |
转换为字符串payload
后变成
1 | {\"text1\":\"今天是个好日子\",\"trackID1\":123456} |
scheme 大致如下:
1 | scheme://test/ui/func?p={"hintPayload":"{\"text1\":\"今天是个好日子\",\"trackID1\":123456}","param2":"9"} |
然后对 scheme 转义, 下发给客户端, 客户端在解析 scheme 后, 获取各个参数, 然后把payload
字符串给另一个业务后端B.
自测阶段没什么问题, 但是测试发现text1
中有换行符以及"
时候就不行了, 客户端问题就出在解析 scheme 时候, 会对参数做一次 string 转 json 处理, 这次处理失败了.