通过串联两个变量来获取Json对象值

时间:2019-04-02 12:45:39

标签: json concatenation

我正在尝试创建一个包含键值对的json,其中该值是基于另外两个变量(字符串)的串联而生成的。

除了类似的连接方式

var a =“ A”;
var b =“ B”;
var c = a +“” + b;

并直接使用变量'c',可以通过以下方法在键值内附加变量。

var fName = "Test1";
var lName = "Test2";

var json = {"fname":fname,"lname":lName,"fullname":"'fName'+' '+'lname'"}

我期望结果为{“ fname”:“ Test1”,“ lname”:“ Test2”,“全名”:“ Test1 Test2”}

请让我知道是否可以实现。

1 个答案:

答案 0 :(得分:1)

var fName = "Test1";
var lName = "Test2";

var json = {"fname":fName,"lname":lName,"fullname": fName + " " + lName}

编辑:在评论之后,我将说明其他处理JSON字符串和对象的方法...

// json is a JavaScript Object
typeof json  // -> "object"

// If you want to create JSON string representing it, use JSON.stringify()
var jsonString = JSON.stringify(json)

typeof jsonString  // -> "string"

// If you like pain, you can also build that string manually
// with the right escape sequences... (Do not do that)
var sillyJsonString = "{\"fname\":" + "\""+fName + "\",\"lname\":" + "\"" + lName + "\",\"fullname\":" + "\""+fName + " " + lName + "\"}"

typeof sillyJsonString  // -> "string"

// And now let's make sure they have the same content
jsonString === sillyJsonString  // -> true

// And the final part, re-create the object for JSON string
var sameJsonObject = JSON.parse(sillyJsonString)

// Now let's compare that the objects have the same content (but the are not equal ;))
JSON.stringify(json) === JSON.stringify(sameJsonObject)  // -> true

希望这会为您指明正确的方向...