我不确定我是不是真的很傻,虽然我无法在任何地方找到它,但我json_encode()
一些数据库输出并将它们输出到页面,并使用$.parseJSON
读取它们,但我想从数组中获取特定值。这是我试图完成的一个例子。
var j = '[{"uid":"1","name":"Bingo Boy", "profile_img":"funtimes.jpg"},{"uid":"2","name":"Johnny Apples", "profile_img":"badtime.jpg"}]';
var json = $.parseJSON(j);
$(json).each(function(i, val) {
$.each(val, function(k, v) {
console.log(k['uid']) // <-- This is where I want to just output the UID from each array results
});
现在,要说明我想要完成的只是从这个数组中提取UID(或名称或profile_img,只是一般值),以便稍后我可以将值插入div
非常感谢任何帮助,谢谢!
答案 0 :(得分:3)
.each
,因为没有嵌套数组。callback
(A function to execute for each element)中的第二个参数是当前循环中迭代的项,而不是第一个参数。
var j = '[{"uid":"1","name":"Bingo Boy", "profile_img":"funtimes.jpg"},{"uid":"2","name":"Johnny Apples", "profile_img":"badtime.jpg"}]';
var json = $.parseJSON(j);
$(json).each(function(i, val) {
console.log(val['uid']);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
&#13;
我会避免jQuery
进行此操作。
var j = '[{"uid":"1","name":"Bingo Boy", "profile_img":"funtimes.jpg"},{"uid":"2","name":"Johnny Apples", "profile_img":"badtime.jpg"}]';
var parsed = JSON.parse(j);
var uids = parsed.map(function(item) {
return item.uid;
});
console.log(uids);
&#13;
答案 1 :(得分:0)
不需要each
的第二级。
试试这个:
var j = '[{"uid":"1","name":"Bingo Boy", "profile_img":"funtimes.jpg"},{"uid":"2","name":"Johnny Apples", "profile_img":"badtime.jpg"}]';
var json = $.parseJSON(j);
$.each(json, function (i, obj) {
console.log(obj.uid);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
答案 2 :(得分:0)
试试这个: -
仅使用JS:
var j = '[{"uid":"1","name":"Bingo Boy", "profile_img":"funtimes.jpg"},{"uid":"2","name":"Johnny Apples", "profile_img":"badtime.jpg"}]';
j = JSON.parse(j);
j.map((value)=>{
console.log(value['uid'])
});
使用jQuery: -
var j = '[{"uid":"1","name":"Bingo Boy", "profile_img":"funtimes.jpg"},{"uid":"2","name":"Johnny Apples", "profile_img":"badtime.jpg"}]';
var json = $.parseJSON(j);
$(json).each(function(i, val) {
console.log(val['uid']);
});
答案 3 :(得分:0)
将json对象解析为数组列表后,您可以使用vanilla map函数,如下所示
function stuff(item,index) {
//Here can do any manipulation with your object
return item.uid;
}
function myFunction() {
document.getElementById("myDiv").innerHTML = myArrayList.map(stuff);
}
答案 4 :(得分:0)
这对你有帮助。
var j = '[{"uid":"1","name":"Bingo Boy", "profile_img":"funtimes.jpg"},{"uid":"2","name":"Johnny Apples", "profile_img":"badtime.jpg"}]';
var json = $.parseJSON(j);
var l=json.length;
var arr=[];
for(var i=0;i<l;i++){
arr.push(json[i]['uid']);
}
console.log(arr);//you can use this array for whatever purpose you intend to
答案 5 :(得分:0)
没有必要使用Jquery!
var j = '[{"uid":"1","name":"Bingo Boy", "profile_img":"funtimes.jpg"},{"uid":"2","name":"Johnny Apples", "profile_img":"badtime.jpg"}]';
var parsedJson = JSON.parse(j);
var uidsArray = parsedJson.map( function(entry){
return entry.uid;
});
console.log(uidsArray); // output: [1,2]