2015-06-11 3 views
1

Im пытается Нажмите правильный JSon строку в JavaScript формата JSON объекта, но каждый раз, когда им пытаются сделать это так:Javascript: Нажмите Json Строка Json объекта

markersData['values'] = [string]; 

результат имеет markersData объект JSON является:

"values":["{'latLng..." 

вместо (Original):

"values":[{"latLng... 

он принимает все json и нажимает его как одну переменную (недопустимый json), как я могу нажать ее как часть оригинального json?

любая идея, как ее решить?

Спасибо!

+1

[Там нет такого понятия, как "JSON объект"] (http://benalman.com/news/2010/03/theres-no-such-thing -по-а-JSON /). Пожалуйста, будьте предельно ясны относительно типа ценностей, которые у вас есть. Укажите ** полный ** пример. –

ответ

2

Вы должны deserialise строки JSON перед установкой его свойство объекта:

markersData['values'] = [JSON.parse(yourJsonString)]; 
+0

Спасибо! Это было полезно! –

0

Вы должны убедиться, что у вас есть действительный JSON. Так что ниже покажет вам, как создать простой JSON, который будет действителен для использования

JSON объекта:

var newObject = {}; 
newObject.Latlng = "ValueHere"; 

var jsonString = JSON.stringify(newObject); 

// Check jsonString before you parse for pushing. 
console.log(jsonString); 

Вам нужно будет deserialise строки JSON перед установкой его в свойство объекта

как Рори McCrossan упоминает в своем ответе

jsonString[value] = [JSON.parse(jsonString)]; 
+0

Вопрос не совсем ясен, но я думаю, что OP хочет обратить вспять это. –

+0

@RoryMcCrossan Привет, я процитировал вас в своем ответе. Его вопрос на 100% ясен, но ему нужно посоветовать, как сделать действительный json, прежде чем он сможет что-либо достичь. –

0
markersData['values'] = [JSON.parse(string)]; 

Надеется, что это помогает .. Подробнее о JSON.parse here

0

Вам нужно разобрать строку первой.

JSON.parse(addstringvar);

Code pen demo

var testObj = {}; 
var addString = '{"name": "test"}'; 
testObj.values = [JSON.parse(addString)];