У меня есть входная строка, которая будет либо стать JSON пакета, аля:Есть ли лучший способ конвертировать пакет JSON в строку запроса?
{"PHONE":"555-513-4318","FIRSTNAME":"Austin","ARTISTID":"2","LASTNAME":"Weber"}
или строка запроса, аля:
phone=555-513-4318&firstname=Austin&artistid=2&lastname=Weber
Для моих целей, я должен всегда использовать последний формат; поэтому , когда это данные JSON, мне нужно преобразовать его в строку запроса. Это пользовательский ввод, поэтому я не могу гарантировать, что он будет тем или иным.
Я использую jQuery и имею следующий код, который работает. Мне просто интересно, есть ли лучший способ сделать это.
var data = '';
try {
data = $.param($.parseJSON($("#content").val()));
} catch (e) {
data = $("#content").val();
}
//... now do stuff with the `data` var...
Логика здесь в том, что если строка не является допустимым JSON, то $.parseJSON()
сгенерирует исключение, и данные будут просто установить в исходное значение пользовательского ввода.