Значение объекта Json путем объединения двух переменных - PullRequest
0 голосов
/ 02 апреля 2019

Я пытаюсь создать 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", "fullname": "Test1 Test2"}

Пожалуйста, дайте мне знать, если это возможно.

1 Ответ

1 голос
/ 02 апреля 2019
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

Надеюсь, это укажет на васправильное направление ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...