将json从一种格式转换为其他值作为对象

问题描述:

我有一个json的形式[{"user":"xyz","type":"Accounts"}]想要转换成[{"user":xyz,"type":Accounts}]我想做一个json对象类似于第一个值很小的变化值应该不带引号“”。 我找将json从一种格式转换为其他值作为对象

[PollQuestionDTO [questionId=null, articleId=null, questionText=India have applied a defibrillator to this series 1, pollType=SINGLE_ANSWER, selectedOptionIds=[], pollOptionList=[PollOptionDTO [optionId=0, questionId=0, optionText=India have applied a defibrillator to this series 2, selectedByUser=N, createdDate=null, modifiedDate=null], PollOptionDTO [optionId=0, questionId=0, optionText=India have applied a defibrillator to this series 3, selectedByUser=N, createdDate=null, modifiedDate=null], PollOptionDTO [optionId=0, questionId=0, optionText=India have applied a defibrillator to this series 4, selectedByUser=N, createdDate=null, modifiedDate=null], PollOptionDTO [optionId=0, questionId=0, optionText=India have applied a defibrillator to this series 5, selectedByUser=N, createdDate=null, modifiedDate=null], PollOptionDTO [optionId=0, questionId=0, optionText=India have applied a defibrillator to this series 6, selectedByUser=N, createdDate=null, modifiedDate=null]], pollId=null], PollQuestionDTO [questionId=null, articleId=null, questionText=India have applied a defibrillator to this series text., pollType=SINGLE_ANSWER, selectedOptionIds=[], pollOptionList=[PollOptionDTO [optionId=0, questionId=0, optionText=India have applied a defibrillator to this series 111, selectedByUser=N, createdDate=null, modifiedDate=null], PollOptionDTO [optionId=0, questionId=0, optionText=India have applied a defibrillator to this series 222, selectedByUser=N, createdDate=null, modifiedDate=null], PollOptionDTO [optionId=0, questionId=0, optionText=India have applied a defibrillator to this series 333, selectedByUser=N, createdDate=null, modifiedDate=null], PollOptionDTO [optionId=0, questionId=0, optionText=India have applied a defibrillator to this series 444, selectedByUser=N, createdDate=null, modifiedDate=null], PollOptionDTO [optionId=0, questionId=0, optionText=India have applied a defibrillator to this series 555, selectedByUser=N, createdDate=null, modifiedDate=null]], pollId=null], PollQuestionDTO [questionId=null, articleId=null, questionText=India have applied a defibrillator to this series text text data., pollType=SINGLE_ANSWER, selectedOptionIds=[], pollOptionList=[PollOptionDTO [optionId=0, questionId=0, optionText=India have applied a defibrillator to this series 122, selectedByUser=N, createdDate=null, modifiedDate=null], PollOptionDTO [optionId=0, questionId=0, optionText=India have applied a defibrillator to this series 33, selectedByUser=N, createdDate=null, modifiedDate=null], PollOptionDTO [optionId=0, questionId=0, optionText=India have applied a defibrillator to this series 444, selectedByUser=N, createdDate=null, modifiedDate=null], PollOptionDTO [optionId=0, questionId=0, optionText=India have applied a defibrillator to this series nnn, selectedByUser=N, createdDate=null, modifiedDate=null], PollOptionDTO [optionId=0, questionId=0, optionText=India have applied a defibrillator to this seriesb de, selectedByUser=N, createdDate=null, modifiedDate=null]], pollId=null]] 

样json.however IM的具有在类似形式,[{ “用户”: “XYZ”, “类型”: “帐户”}]

+4

'[{ “用户”:XYZ, “类型”:应收}]'无效JSON。你需要引号,因为'xyz'和'Accounts'是字符串。但引号只是*语法的一部分,它们不是实际*值*的一部分。如果您在解析JSON之后在* values *中看到引号,那么还有其他事情正在发生 - 请编辑您的问题以显示相关代码。 *“我想创建一个json对象”* - [并不是没有这种东西](http://benalman.com/news/2010/03/theres-no-such-thing-as-a-json/ )。 – nnnnnn

+0

@nnnnnn sir plz请参阅编辑。 –

+0

使用'JSON.parse'? – d3L

你想解码JSON并通过绑定数据来填充变量?

// JSON string to decode. 
 
var jsonStr = '[{ "user": "xyz", "type": "Accounts" }]'; 
 
// Variables to be used as replacements. 
 
var variableData = { 
 
    Accounts : { class : 'Accounts' } 
 
}; 
 

 
function parseJson(json, data) { 
 
    var arr = JSON.parse(json); 
 
    arr.forEach(item => { 
 
    for (var key in item) { 
 
     if (data[item[key]]) { 
 
     item[key] = data[item[key]]; 
 
     } 
 
    } 
 
    }); 
 
    return arr; 
 
} 
 

 
console.log(JSON.stringify(parseJson(jsonStr, variableData), null, 2));
.as-console-wrapper { top: 0; max-height: 100% !important; }