2014-09-04 121 views
0

更新时,couchDB json文档具有两个单独的数组。但是我将一个数组推入特定的对象数组中。如何将数组推送到couchdb中的特定数组对象json文档

{ 

"_id":"employee_skill_doc", 
"_rev":"269-e99377ad5d9e746a9d5b4777e7a50e46", 
"skills":[ 
{ 
    "skill_name": "Dassault Simulia", 
    "skill_id": "En17", 
    "skill_set_id": "c03", 
    "skill_set": "CAE (Computer Aided Engineering)", 
    "skill_sub_ID": "b02", 
    "skill_cat_ID": "a01" 
}], 
"certification":[ 
{ 
    "certification_type": "networking", 
    "certification_company": "citrix", 
    "certification_name": "citrix", 
    "certified_year": "1992", 
    "certified_valitidy": "01/2014", 
    "marks":"90", 
    "comments":"sample", 
    "skill_id": "En17" 
}] 
} 

这里提到的预期输出,

{ 

"_id": "employee_skill_doc", 
"_rev": "269-e99377ad5d9e746a9d5b4777e7a50e46", 
"skills": [{ 
"skill_name": "Dassault Simulia", 
"skill_id": "En17","skill_set_id": "c03", 
"skill_set": "CAE (Computer Aided Engineering)", 
"skill_sub_ID": "b02","skill_cat_ID": "a01", 
"certification": [ { 
"certification_type": "networking", 
"certification_company": "citrix","certification_name": "citrix", 
"certified_year": "1992", 
"certified_valitidy": "01/2014", 
"marks": "90", 
"comments": "sample", 
"skill_id": "En17" 
    }] 
}] 

} 

回答

0

试试这个

<?php 
$json = ' { 

"_id":"employee_skill_doc", 
"_rev":"269-e99377ad5d9e746a9d5b4777e7a50e46", 
"skills":[ 
{ 
    "skill_name": "Dassault Simulia", 
    "skill_id": "En17", 
    "skill_set_id": "c03", 
    "skill_set": "CAE (Computer Aided Engineering)", 
    "skill_sub_ID": "b02", 
    "skill_cat_ID": "a01" 
}], 
"certification":[ 
{ 
    "certification_type": "networking", 
    "certification_company": "citrix", 
    "certification_name": "citrix", 
    "certified_year": "1992", 
    "certified_valitidy": "01/2014", 
    "marks":"90", 
    "comments":"sample", 
    "skill_id": "En17" 
}] 
}'; 

$arr = json_decode($json, true); 
$arr['skills'][0]['certification'] = $arr['certification']; 
unset($arr['certification']); 
$json_new = json_encode($arr, JSON_PRETTY_PRINT); 
echo $json_new; 
?> 

OUTPUT:

{ 
"_id":"employee_skill_doc", 
"_rev":"269-e99377ad5d9e746a9d5b4777e7a50e46", 
"skills":[ 
    { 
    "skill_name":"Dassault Simulia", 
    "skill_id":"En17", 
    "skill_set_id":"c03", 
    "skill_set":"CAE (Computer Aided Engineering)", 
    "skill_sub_ID":"b02","skill_cat_ID":"a01", 
    "certification":[ 
     { 
     "certification_type":"networking", 
     "certification_company":"citrix", 
     "certification_name":"citrix", 
     "certified_year":"1992", 
     "certified_valitidy":"01\/2014", 
     "marks":"90","comments": 
     "sample","skill_id":"En17" 
     }] 
    }] 
} 

SEE DEMO

+0

我打算建议一些类似的东西,但在我看来,因为有一个数组,你可能需要一些技术的认证匹配标准...... – ranman 2014-09-04 18:28:13

相关问题