将JSON对象转换为单个变量

时间:2018-11-27 01:26:21

标签: javascript python json api

我已经使用ajax发出了POST请求。但是我正在接收这样的数据

[{u'name': u'cuenta', u'value': u'01050160181244049'}, {u'name': u'beneficiario', u'value': u'xxxxxxx'}, {u'name': u'identificador', u'value': u'V'}, {u'name': u'identidad', u'value': u'2423439'}, {u'name': u'email', u'value': u'dfgfdgfd@gmail.com'}, {u'name': u'monto', u'value': u'1'}, {u'name': u'concepto', u'value': u'pago'}]

我需要在后端进行处理,但是我需要以这种方式进行处理

{
"cuenta": "010501601811634534549",
"beneficiario": "xxxxxxx",
"identificador": "V",
"identidad": "23432423",
"email": "xxxxx@gmail.com",
"monto": "1",
"concepto": "pago"
}

我该如何转换?或者我如何以我需要的普通格式发送我的Ajax请求?这是我的js代码

$(document).ready(function(){

var frm = $('#formulario_datos');
frm.submit(function (e) {
    frm.attr("disabled", "disabled");

    e.preventDefault();
    var formData = JSON.stringify($("#formulario_datos").serializeArray());

    $.ajax({
        type: "POST",
        url: '/transferencia',
        data: formData,
        success: function (data) {
            alert(data.Message);
        },
        error: function () {
            alert("Error!!!");
        },
        dataType: "json",
        contentType : "application/json"
    });
});

});

2 个答案:

答案 0 :(得分:0)

看起来您只需要reduce到一个对象中,就可以从数组中的每个项目中提取namevalue属性:

// const arr = $("#formulario_datos").serializeArray();
const arr = [{'name': 'cuenta', 'value': '01050160181244049'}, {'name': 'beneficiario', 'value': 'xxxxxxx'}, {'name': 'identificador', 'value': 'V'}, {'name': 'identidad', 'value': '2423439'}, {'name': 'email', 'value': 'dfgfdgfd@gmail.com'}, {'name': 'monto', 'value': '1'}, {'name': 'concepto', 'value': 'pago'}];

const transformedObj = arr.reduce((a, { name, value }) => {
  a[name] = value;
  return a;
}, {});
console.log(transformedObj);

/*
$.ajax({
  type: "POST",
  url: '/transferencia',
  data: JSON.stringify(transformedObj),
  ...
*/

答案 1 :(得分:0)

您可以对结果使用dict理解。这是您可以在REPL中尝试的示例:

>>> result = [
        {u'name': u'cuenta', u'value': u'01050160181244049'}, 
        {u'name': u'beneficiario', u'value': u'xxxxxxx'}, 
        {u'name': u'identificador', u'value': u'V'}, 
        {u'name': u'identidad', u'value': u'2423439'}, 
        {u'name': u'email', u'value': u'dfgfdgfd@gmail.com'}, 
        {u'name': u'monto', u'value': u'1'},
        {u'name': u'concepto', u'value': u'pago'}]
>>> {e["name"]: e["value"] for e in result}
{u'beneficiario': u'xxxxxxx', u'monto': u'1', u'identificador': u'V', u'concepto': u'pago', u'cuenta': u'01050160181244049', u'identidad': u'2423439', u'email': u'dfgfdgfd@gmail.com'}