Javascript 在JSON字符串化数组中查找值
我想在JSON stringify数组中找到一个值Javascript 在JSON字符串化数组中查找值,javascript,arrays,json,associative-array,Javascript,Arrays,Json,Associative Array,我想在JSON stringify数组中找到一个值 [{"id":"432","temperature":"1","humidity":"1","createat":"0000-00-00 00:00:00"},{"id":"433","temperature":"22.00","humidity":"48","createat":"2015-10-11 19:49:57"},{"id":"434","temperature":"22.40","humidity":"48","createat"
[{"id":"432","temperature":"1","humidity":"1","createat":"0000-00-00 00:00:00"},{"id":"433","temperature":"22.00","humidity":"48","createat":"2015-10-11 19:49:57"},{"id":"434","temperature":"22.40","humidity":"48","createat":"2015-10-11 19:52:02"},{"id":"435","temperature":"22.40","humidity":"48","createat":"2015-10-11 19:55:26"},{"id":"436","temperature":"22.00","humidity":"48","createat":"2015-10-11 19:58:50"},{"id":"437","temperature":"22.00","humidity":"48","createat":"2015-10-11 20:02:14"},{"id":"438","temperature":"22.50","humidity":"51","createat":"2015-10-11 21:23:15"},{"id":"439","temperature":"22.50","humidity":"50","createat":"2015-10-11 21:24:37"},{"id":"440","temperature":"22.50","humidity":"51","createat":"2015-10-11 21:26:17"},{"id":"441","temperature":"22.50","humidity":"51","createat":"2015-10-11 21:26:41"}]
我得到这个值的想法是知道我正在添加的内容是否还没有添加
....
var jsonArray = [{"id":"432","temperature":"1","humidity":"1",.....
var isPresent = false;
$.each(jsonArray, function(i,v){
if(jsonArray[i].id == newObject.id){
isPresent = true;
}
});
if(!isPresent){
jsonArray.push(newObject);
}
....
编辑:这里有一个propertyExists
函数:
var propertyExists = function(stringifiedJson, id, property) {
// parse the stringified JSON into a JavaScript object
parsedJson = JSON.parse(stringifiedJson);
// check if the property exists for a given ID
for(var i = 0; i < parsedJson.length; i += 1) {
if(parseInt(parsedJson[i].id) === parseInt(id)) {
return (typeof parsedJson[i][property] !== 'undefined')
}
}
return false;
}
// stringified json
var stringifiedJson = '[{"id":"432","temperature":"1","humidity":"1","createat":"0000-00-00 00:00:00"},{"id":"433","temperature":"22.00","humidity":"48","createat":"2015-10-11 19:49:57"},{"id":"434","temperature":"22.40","humidity":"48","createat":"2015-10-11 19:52:02"},{"id":"435","temperature":"22.40","humidity":"48","createat":"2015-10-11 19:55:26"},{"id":"436","temperature":"22.00","humidity":"48","createat":"2015-10-11 19:58:50"},{"id":"437","temperature":"22.00","humidity":"48","createat":"2015-10-11 20:02:14"},{"id":"438","temperature":"22.50","humidity":"51","createat":"2015-10-11 21:23:15"},{"id":"439","temperature":"22.50","humidity":"50","createat":"2015-10-11 21:24:37"},{"id":"440","temperature":"22.50","humidity":"51","createat":"2015-10-11 21:26:17"},{"id":"441","temperature":"22.50","humidity":"51","createat":"2015-10-11 21:26:41"}]';
console.log(propertyExists(stringifiedJson, 432, 'humidity'));
var propertyExists=function(stringifiedJson,id,property){
//将字符串化的JSON解析为JavaScript对象
parsedJson=JSON.parse(stringifiedJson);
//检查给定ID的属性是否存在
对于(变量i=0;i
var jsonText='[{“id”:“432”,“温度”:“1”,“湿度”:“1”,“createat”:“0000-00-00:00:00:00”},{“id”:“433”,“温度”:“22.00”,“湿度”:“48”,“createat”:“2015-10-11 19:49:57”},{“id”:“434”,“温度”:“22.40”,“湿度”:“48”,“createat”:“2015-10-11 19:52:02”},{“id”:“435”,“温度”:“22.40”,“湿度”:“48”,“createat”:2015-10-11 19:55:26,{id:“436”,“温度:”“22.00”,“湿度:”“48”,“湿度:”“51”,“温度:”“22.50”,“湿度:”“51”,“温度:”“22.50”,“湿度:”“50”,“湿度:”“51”,“湿度:”“22.50”,“湿度:”“22.50”,“湿度:”“50”,“湿度:”“22.50”2015-10-11 21:24:37“},{“id”:“440”,“温度”:“22.50”,“湿度”:“51”,“创建时间”:“2015-10-11 21:26:17”},{“id”:“441”,“温度”:“22.50”,“湿度”:“51”,“创建时间”:“2015-10-11 21:26:41”}
函数hasPropValue(数组、属性、值){
返回数组.some(函数(obj){
返回对象hasOwnProperty(prop)&&obj[prop]==值;
});
}
document.write(hasPropValue(JSON.parse(jsonText),'id','432');
迭代并检查属性。为什么不干脆JSON.parse()
?@Guillermo是否要检查javascript
中的值,并添加任何试图获取值的代码只有我想在数组@mikeBy'word'中找到一个词,你是说“id、温度、湿度……等等”吗?因为这些都是属性,可以使用hasOwnProperty()找到它们
用“word”我指的是温度id或湿度@A的值。OThere没有jQuery标记或请求,还有自ES5以来内置的Array.prototype.forEach。更合适的是。code–只有答案不受欢迎,你应该解释为什么你的答案解决了OP的问题。我只想知道在wh中是否存在一个值这个答案告诉你。写着//检查属性是否存在的部分
。
hasPropValue(JSON.parse(jsonText), 'id', '432');