关于不同语言(Java,Objective C,Swift,Ruby,Python等)的流行JSON解析器的问题:
大多数流行的Parser / Parsing框架是否容忍在JSON有效负载中添加属性?
对于透视图,请考虑一些产生JSON响应的服务的客户端。如果我添加属性,我不希望客户端能够利用(理解)这些属性,除非他们更改代码。但是我想知道哪些解析器在遇到新属性时会实际中断(无法操作,返回错误或抛出异常)。
实施例 -
在:
{
"person": {
"firstName": "Joe",
"lastName": "Smith"
}
}
后:
{
"person": {
"firstName": "Joe",
"middleName" : "Allen",
"lastName": "Smith"
}
}
如果有一天编写并经过测试接受Before
版本的客户端看到After
版本,那么大多数解析器是否会处理它而不会中断? (IOW - 这种变化在JSON中是否被认为是向后兼容的?)