Javascript 创建返回通用JSON的函数

Javascript 创建返回通用JSON的函数,javascript,json,Javascript,Json,我有多个实体,它们具有相同的结构(“entityId”和“name”),如下所示: function getGenericJson(field, nameValue, idValue){ return { name: nameValue, [field+"Id"]: idValue } } function getGenericJson(field, nameValue, idValue){ var fieldJson = { name: nameV

我有多个实体,它们具有相同的结构(“entityId”和“name”),如下所示:

function getGenericJson(field, nameValue, idValue){
  return { 
    name: nameValue, 
    [field+"Id"]: idValue 
  }
}
function getGenericJson(field, nameValue, idValue){
  var fieldJson = { 
    name: nameValue
  };

  fieldJson[field + "Id"] = idValue;
  return fieldJson;
} 
性别

"gender" : {
     genderId: 1,
     name: "someValue"
}
教育水平

"educationLevel" : {
     educationLevelId: 1,
     name: "someValue"
}
职称

"professionalTitle" : {
     professionalTitleId: 1,
     name: "someValue"
}
我编写这个函数是为了得到一个通用的JSON,但这当然是错误的。如何正确设置“字段+Id”

我的职能

function getGenericJson(field, nameValue, idValue){ 
var idName = field + "Id"; 
var fieldJson = { 
name: nameValue, 
field+"Id": idValue 
}
return fieldJson; 
}

输入示例

getGenericJson("gender", "someValue", 1);

在ES6中,您可以这样编写:

function getGenericJson(field, nameValue, idValue){
  return { 
    name: nameValue, 
    [field+"Id"]: idValue 
  }
}
function getGenericJson(field, nameValue, idValue){
  var fieldJson = { 
    name: nameValue
  };

  fieldJson[field + "Id"] = idValue;
  return fieldJson;
} 
在ES5中,您可以这样编写:

function getGenericJson(field, nameValue, idValue){
  return { 
    name: nameValue, 
    [field+"Id"]: idValue 
  }
}
function getGenericJson(field, nameValue, idValue){
  var fieldJson = { 
    name: nameValue
  };

  fieldJson[field + "Id"] = idValue;
  return fieldJson;
} 

在ES6中,您可以这样编写:

function getGenericJson(field, nameValue, idValue){
  return { 
    name: nameValue, 
    [field+"Id"]: idValue 
  }
}
function getGenericJson(field, nameValue, idValue){
  var fieldJson = { 
    name: nameValue
  };

  fieldJson[field + "Id"] = idValue;
  return fieldJson;
} 
在ES5中,您可以这样编写:

function getGenericJson(field, nameValue, idValue){
  return { 
    name: nameValue, 
    [field+"Id"]: idValue 
  }
}
function getGenericJson(field, nameValue, idValue){
  var fieldJson = { 
    name: nameValue
  };

  fieldJson[field + "Id"] = idValue;
  return fieldJson;
} 

尝试用括号将其包装,如下所示:

var fieldJson = {
    ...,
    [ field + "Id" ]: idValue
}

尝试用括号将其包装,如下所示:

var fieldJson = {
    ...,
    [ field + "Id" ]: idValue
}
演示

ES5:

函数getGenericJson(字段、名称值、idValue){ var fieldJson={}; fieldJson.name=nameValue; fieldJson[field+“Id”]=idValue; 返回字段JSON; }; log(getGenericJson(“性别”,“someValue”,1))演示

ES5:

函数getGenericJson(字段、名称值、idValue){ var fieldJson={}; fieldJson.name=nameValue; fieldJson[field+“Id”]=idValue; 返回字段JSON; };
log(getGenericJson(“性别”,“someValue”,1))您是否试图返回json字符串对象?@funcoding没有“json对象”或“json字符串对象”这样的东西。它要么是JSON(字符串),要么是对象。“JSON”代表“JavaScript对象表示法”,我想你错了!从另一个网站:JSON对象可以用JavaScript创建。让我们看看使用JavaScript创建JSON对象的各种方法−也许我错了,但我认为这两个网站都使用了错误的术语。对我来说,说JavaScript对象表示法对象听起来是错误的,就像说“ATM机”,意思是自动取款机。不管怎样,只要我们彼此理解……你是想返回一个json字符串对象吗?@funcoding没有“json对象”或“json字符串对象”这样的东西。它要么是JSON(字符串),要么是对象。“JSON”代表“JavaScript对象表示法”,我想你错了!从另一个网站:JSON对象可以用JavaScript创建。让我们看看使用JavaScript创建JSON对象的各种方法−也许我错了,但我认为这两个网站都使用了错误的术语。对我来说,说JavaScript对象表示法对象听起来是错误的,就像说“ATM机”,意思是自动取款机。不管怎样,只要我们彼此了解。。。