var data = {
"obj":[{
"name": "John",
"age": "10",
"Alias": "Person",
"where":[{"City1":"foo", "City2":"foo2"}]
},{
"name": "Mike",
"age": "",
"Alias": "Person",
"where":[{"City1":"test1", "City2":"test2"}]
}]
}
data.obj[0].Alias
和data.obj[1].Alias
重复。
data.obj[1].age
也是空的。
如果JSON对象中存在空值或重复值,则返回false。
如何检查空值和重复值?
答案 0 :(得分:1)
你可以使用过滤器
final
。Alias
。如果临时列表中存在任何项目,则表示已经传递了一次。它将返回false
。 true
。final
中的总项目不等于data
,则表示json中的项目无效。喜欢这个
var data = {
"obj": [{
"name": "John",
"age": "10",
"Alias": "Person",
"where": [{
"City1": "foo",
"City2": "foo2"
}]
}, {
"name": "Mike",
"age": "",
"Alias": "Person",
"where": [{
"City1": "test1",
"City2": "test2"
}]
}]
}
var temp = []
var final = data.obj.filter((x, y) => {
console.log(x)
if (x.age.length == 0) {
return false
} else {
if (temp.indexOf(x.Alias) > -1){
return false
}
else {
temp.push(x.Alias)
return true
}
}
})
console.log(final.length == data.obj.length ? "Valid" : "Not valid JSON")
的 DEMO
强>