我在PHP中使用json_decode解码一个JSON对象,该对象可能具有1d数组或2d数组作为值:
{"Cell":{"@column":"ZjE6dW5pdmVyc2l0eQ==","@timestamp":"1425598820484","$":"MC44MDc2NDEwNDg0MjI5MjMy"}}
或者
{"Cell":[{"@column":"ZjE6YQ==","@timestamp":"1425599309809","$":"MC4wNTYzMzgwMjgxNjkwMTQwODY="},{"@column":"ZjE6YW5k","@timestamp":"1425599309809","$":"MC4wNTYzMzgwMjgxNjkwMTQwODY="},{"@column":"ZjE6Y2F0Y2hlcw==","@timestamp":"1425599309809","$":"MC4wNDIyNTM1MjExMjY3NjA1Ng=="},{"@column":"ZjE6aQ==","@timestamp":"1425599309809","$":"MC4wOTg1OTE1NDkyOTU3NzQ2NA=="},{"@column":"ZjE6dGhhdA==","@timestamp":"1425599309809","$":"MC4xNjkwMTQwODQ1MDcwNDIyNQ=="}]}
我正在使用$ Cell = $ json [“ Cell”]访问元素。我面临的问题是第二种情况下效果很好,我得到了一个数组数组,而第一种情况应该是单个元素数组,但被解释为3个元素数组。
您不能只检查元素是否具有密钥吗?像这样:
if (isset($json['Cell']['@column']) {
// do stuff with single-element
} else {
// it is a collection
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句