Javascript 如何在json数组中保留特定元素并删除其他元素?
我有以下json数组:Javascript 如何在json数组中保留特定元素并删除其他元素?,javascript,php,json,Javascript,Php,Json,我有以下json数组: [ { "id": "1", "title": "Pharmacy", "desc": "xyz"}, { "id": "21", "title": "Engineering", "desc": "xyz"}, { "id": "30", "title": "Agriculture", "desc": "xyz"}, ... ] 我只想保留title元素并删除其他元素。我尝试使用php和javascript解决这个问题。在javascript中,使用: 让数组
[
{ "id": "1", "title": "Pharmacy", "desc": "xyz"},
{ "id": "21", "title": "Engineering", "desc": "xyz"},
{ "id": "30", "title": "Agriculture", "desc": "xyz"},
...
]
我只想保留title元素并删除其他元素。我尝试使用php和javascript解决这个问题。在javascript中,使用:
让数组=[
{id:1,标题:Pharmacy,desc:xyz},
{id:21,标题:工程,描述:xyz},
{id:30,标题:农业,描述:xyz}
];
让mapped=array.mapi=>{title:i.title};
console.logmapped
var arr=[
{id:1,标题:Pharmacy,desc:xyz},
{id:21,标题:工程,描述:xyz},
{id:30,标题:农业,描述:xyz}
];
arr.forEachfunctionobj{
删除obj.id;
删除obj.desc;
};
console.logarr 在PHP中
$string = file_get_contents('yourjsonfile.json');
$json = json_decode($string,true);
$title = [] ;
foreach($json as $t){
$title[] = $t['title'] ;
}
var_dump($title);
如果您没有json文件,那么您可以使用json_encode在php中创建json使用以下方法在php中解决它:
$title = array();
foreach($arr as $val) {
$json = json_decode($val, TRUE);
$title[]['title'] = $json['title'];
}
$titleJson = json_encode($title);
var_dump($titleJson); //array of titles
请尝试此代码,希望它对您有价值。如果您只保留一个属性,您最好将其转换为字符串数组:[制药、工程、农业等]。谢谢@易卜拉欣·马赫里尔
<?php
function setArrayOnField($array,$fieldName){
$returnArray = [];
foreach ($array as $val) {
$returnArray[] = [$fieldName=>$val[$fieldName]];
}
return $returnArray;
}
$list = [
[ "id"=> "1", "title"=> "Pharmacy", "desc"=> "xyz"],
[ "id"=> "2", "title"=> "Computer", "desc"=> "abc"],
[ "id"=> "3", "title"=> "Other", "desc"=> "efg"]
];
print_r(setArrayOnField($list,'title'));
?>