2013-03-04 5 views
0
var jsonString ="{ " 
      jsonString += "name:" + Data.name+","; 
      jsonString += "surname:"+ Data.surname+","; 
      jsonString += "Address: " + Data.add; 
      jsonString += "}" 

Я создаю следующую строку json для вызова Ajax. Но когда в поле адреса есть «,». это дает мне ошибку. может ли кто-нибудь сказать мне правильный способ создания json-строки в javascript для ajax-звонковJson string parsing issue

+0

Почему бы не использовать jQuery с объектом или пакетом ['JSON'] (http://stackoverflow.com/questions/558518/how-to-serialise-on-object-to-json-in-javascript) ? – h2ooooooo

+0

Поместите данные в кавычки и избежите всех кавычек в данных. –

+0

как избежать котировок в этом случае. – iRunner

ответ

2

Используйте JSON.stringify() для создания строки JSON. Он автоматически выйдет из любого персонажа, где это необходимо.

var jsonString = JSON.stringify(Data); 
+0

эй спасибо.Это действительно помогло. :) – iRunner

0

Зачем вам создавать json-строку как в JavaScript? JSON или «JavaScript Обозначение объекта». Вы можете создать объект и сделать его строкой JSON со встроенными методами.

var data = { 
    name: Data.name, 
    surname: Data.surname, 
    ... 
}; 

var json = JSON.stringify(data); 
+0

Поддерживается ли JSON.stringify во всех браузерах? –

0

Попробуйте это:

var jsonString ="{ "; 
jsonString += "name:" + '"'+Data.name + '",'; 
jsonString += "surname:"+ '"'+ Data.surname + '",'; 
jsonString += "Address: " + '"'+ Data.add + '"'; 
jsonString += "}"; 

или вы можете использовать JSON.stringify() от: https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/JSON/stringify

+0

Ключи должны быть в двойных кавычках тоже ... –

+0

Вы забыли избежать цитат. –

1

Пожалуйста, используйте JSON.stringify():

var jsonString = JSON.stringify({ 
    'name': Data.name, 
    'surname': Data.surname, 
    'address': Data.add 
}); 

Пожалуйста, обратите внимание, что @Sirko при условии, очень похожий ответ. Пожалуйста, используйте его, если вы хотите сериализовать все поля из объекта «Данные». Если нет, используйте мой.