J'ai un tableau JSON, je veux supprimer NULL tableau de mon JSON.
{ "tblFormQuestions": [ { "ID": 308, "FormID": "51231cc6-b7b4-44f8-a33a-684bc413ef1c", "StepOrder": 1, "QuestionType": "QShortText", "Question": "What's your name?", "PlaceHolderText": "Placeholder", "IsNumericOnly": true, "CharacterLimit": 0, "IsRequired": false }, { "tblFormQuestionDropdownOptions": [ { "ID": 112, "FormQuestionID": 309, "OptionValue": "1 " }, { "ID": 113, "FormQuestionID": 309, "OptionValue": " 2 " }, { "ID": 114, "FormQuestionID": 309, "OptionValue": " 3" } ], "ID": 309, "FormID": "51231cc6-b7b4-44f8-a33a-684bc413ef1c", "StepOrder": 1, "QuestionType": "QDropdown", "Question": "DQ1", "IsRequired": false }, { "tblFormQuestionDropdownOptions": [ { "ID": 115, "FormQuestionID": 310, "OptionValue": "4 " }, { "ID": 116, "FormQuestionID": 310, "OptionValue": " 5" } ], "ID": 310, "FormID": "51231cc6-b7b4-44f8-a33a-684bc413ef1c", "StepOrder": 1, "QuestionType": "QDropdown", "Question": "DQ2", "IsRequired": true } ], "ID": "51231cc6-b7b4-44f8-a33a-684bc413ef1c", "Title": "", "CreatedTime": "2019-05-08T16:38:56.637", "CreatedBy": "Admin" }
3 Réponses :
Ceci fonctionne
p>
let data = { "tblFormQuestions": [{ "tblFormQuestionAddresses": [], "tblFormQuestionDatePickers": [], "tblFormQuestionDropdownOptions": [], "tblFormQuestionImages": [], "tblFormQuestionSliders": [], "tblFormQuestionToggles": [], "ID": 308, "FormID": "51231cc6-b7b4-44f8-a33a-684bc413ef1c", "StepOrder": 1, "QuestionType": "QShortText", "Question": "What's your name?", "PlaceHolderText": "Placeholder", "IsNumericOnly": true, "CharacterLimit": 0, "IsRequired": false }, { "tblFormQuestionAddresses": [], "tblFormQuestionDatePickers": [], "tblFormQuestionDropdownOptions": [{ "ID": 112, "FormQuestionID": 309, "OptionValue": "1 " }, { "ID": 113, "FormQuestionID": 309, "OptionValue": " 2 " }, { "ID": 114, "FormQuestionID": 309, "OptionValue": " 3" } ], "tblFormQuestionImages": [], "tblFormQuestionSliders": [], "tblFormQuestionToggles": [], "ID": 309, "FormID": "51231cc6-b7b4-44f8-a33a-684bc413ef1c", "StepOrder": 1, "QuestionType": "QDropdown", "Question": "DQ1", "IsRequired": false }, { "tblFormQuestionAddresses": [], "tblFormQuestionDatePickers": [], "tblFormQuestionDropdownOptions": [{ "ID": 115, "FormQuestionID": 310, "OptionValue": "4 " }, { "ID": 116, "FormQuestionID": 310, "OptionValue": " 5" } ], "tblFormQuestionImages": [], "tblFormQuestionSliders": [], "tblFormQuestionToggles": [], "ID": 310, "FormID": "51231cc6-b7b4-44f8-a33a-684bc413ef1c", "StepOrder": 1, "QuestionType": "QDropdown", "Question": "DQ2", "IsRequired": true } ], "ID": "51231cc6-b7b4-44f8-a33a-684bc413ef1c", "Title": "", "CreatedTime": "2019-05-08T16:38:56.637", "CreatedBy": "Admin" } let result = data.tblFormQuestions.forEach(el => { Object.keys(el).forEach(inner => { // this check if the field is array ,so we not delete the empty string fields if (Array.isArray(el[inner]) && el[inner].length == 0) { delete el[inner] } }) }) console.log(data);
Cela supprime aussi les cordes vides
En outre, il existe un bouton Tidy Code> à gauche de l'éditeur d'extraits qui formatera automatiquement le code. (Il élargit la déstructuration et l'objet littéraux à de nouvelles lignes que vous pourriez avoir à supprimer manuellement)
en utilisant JSON.PARSE Code>
p>
let json = `{"tblFormQuestions":[{"tblFormQuestionAddresses":[],"tblFormQuestionDatePickers":[],"tblFormQuestionDropdownOptions":[],"tblFormQuestionImages":[],"tblFormQuestionSliders":[],"tblFormQuestionToggles":[],"ID":308,"FormID":"51231cc6-b7b4-44f8-a33a-684bc413ef1c","StepOrder":1,"QuestionType":"QShortText","Question":"What's your name?","PlaceHolderText":"Placeholder","IsNumericOnly":true,"CharacterLimit":0,"IsRequired":false},{"tblFormQuestionAddresses":[],"tblFormQuestionDatePickers":[],"tblFormQuestionDropdownOptions":[{"ID":112,"FormQuestionID":309,"OptionValue":"1 "},{"ID":113,"FormQuestionID":309,"OptionValue":" 2 "},{"ID":114,"FormQuestionID":309,"OptionValue":" 3"}],"tblFormQuestionImages":[],"tblFormQuestionSliders":[],"tblFormQuestionToggles":[],"ID":309,"FormID":"51231cc6-b7b4-44f8-a33a-684bc413ef1c","StepOrder":1,"QuestionType":"QDropdown","Question":"DQ1","IsRequired":false},{"tblFormQuestionAddresses":[],"tblFormQuestionDatePickers":[],"tblFormQuestionDropdownOptions":[{"ID":115,"FormQuestionID":310,"OptionValue":"4 "},{"ID":116,"FormQuestionID":310,"OptionValue":" 5"}],"tblFormQuestionImages":[],"tblFormQuestionSliders":[],"tblFormQuestionToggles":[],"ID":310,"FormID":"51231cc6-b7b4-44f8-a33a-684bc413ef1c","StepOrder":1,"QuestionType":"QDropdown","Question":"DQ2","IsRequired":true}],"ID":"51231cc6-b7b4-44f8-a33a-684bc413ef1c","Title":"","CreatedTime":"2019-05-08T16:38:56.637","CreatedBy":"Admin"}` let parsed = JSON.parse(json, (key, value) => Array.isArray(value) ? (value.length) ? value : undefined : value ) console.log(parsed)
boucle sur l'objet et si la valeur de n'importe quelle clé est un objet, utilisez le filtre p> code> pour supprimer la matrice vide.
let obj = {
"tblFormQuestions": [{
"tblFormQuestionAddresses": [],
"tblFormQuestionDatePickers": [],
"tblFormQuestionDropdownOptions": [],
"tblFormQuestionImages": [],
"tblFormQuestionSliders": [],
"tblFormQuestionToggles": [],
"ID": 308,
"FormID": "51231cc6-b7b4-44f8-a33a-684bc413ef1c",
"StepOrder": 1,
"QuestionType": "QShortText",
"Question": "What's your name?",
"PlaceHolderText": "Placeholder",
"IsNumericOnly": true,
"CharacterLimit": 0,
"IsRequired": false
},
{
"tblFormQuestionAddresses": [],
"tblFormQuestionDatePickers": [],
"tblFormQuestionDropdownOptions": [{
"ID": 112,
"FormQuestionID": 309,
"OptionValue": "1 "
},
{
"ID": 113,
"FormQuestionID": 309,
"OptionValue": " 2 "
},
{
"ID": 114,
"FormQuestionID": 309,
"OptionValue": " 3"
}
],
"tblFormQuestionImages": [],
"tblFormQuestionSliders": [],
"tblFormQuestionToggles": [],
"ID": 309,
"FormID": "51231cc6-b7b4-44f8-a33a-684bc413ef1c",
"StepOrder": 1,
"QuestionType": "QDropdown",
"Question": "DQ1",
"IsRequired": false
},
{
"tblFormQuestionAddresses": [],
"tblFormQuestionDatePickers": [],
"tblFormQuestionDropdownOptions": [{
"ID": 115,
"FormQuestionID": 310,
"OptionValue": "4 "
},
{
"ID": 116,
"FormQuestionID": 310,
"OptionValue": " 5"
}
],
"tblFormQuestionImages": [],
"tblFormQuestionSliders": [],
"tblFormQuestionToggles": [],
"ID": 310,
"FormID": "51231cc6-b7b4-44f8-a33a-684bc413ef1c",
"StepOrder": 1,
"QuestionType": "QDropdown",
"Question": "DQ2",
"IsRequired": true
}
],
"ID": "51231cc6-b7b4-44f8-a33a-684bc413ef1c",
"Title": "",
"CreatedTime": "2019-05-08T16:38:56.637",
"CreatedBy": "Admin"
}
let newObj = {};
for (let keys in obj) {
if (Array.isArray(obj[keys])) {
newObj[keys] = obj[keys].filter(function(item) {
return item.lenght !== 0;
})
}
newObj[keys] = obj[keys]
}
console.log(newObj)
Gyz je fais face à une question de savoir pourquoi je pose une question et des développeurs me donnent un vote négatif ok aucun problème pour votre temps.