我从外部合作伙伴处收到一个JSON字符串,并使用php 5.3.3
解析它$jsonObject = json_decode($jsonString);
json_last_error()...
虽然json_last_error()检测到无效的JSON,但它没有检测到重复的密钥,如下所示:
{
"first" : "First name",
"last" : "Last name",
"info" : {
"phone" : "555-555-555",
"phone" : "222-222-222"
}
}
请注意,这两个电话号码使用相同的密钥,但不在阵列中。 有没有办法在php中检测这样的重复键?
答案 0 :(得分:4)
不能是重复的密钥!
这是键的定义 - 它必须是唯一。
第二个会覆盖第一个,因此不会成为任何真正的重复密钥。
答案 1 :(得分:1)
正如@Neal所说,除非你构建自己的json解析器,否则这是不可能的。或者使用其他人。
例如,您可以使用seld/jsonlint。
以下是代码Composer uses since today to warn about duplicate requirements。
mp.setAudioStreamType(AudioManager.STREAM_MUSIC);