/ / Как да разбера дали данните за връщане са Json или String в jQuery и PHP? - php, jquery

Как да разбера дали данните за връщане са Json или String в jQuery и PHP? - php, jquery

Искам да проверя в страна на клиента (jQuery) дали връщането на данни от PHP функция е обект Json или String, за да зададете различна функция.

Отговори:

45 за отговор № 1

parseJson на jQuery ще генерира изключение акоjson не е в правилния формат. Можете да преодолеете обаждането си в опит за блокиране на улова. (Но не забравяйте, че изключенията в потока на нормалния си код са лоша практика)

data = "{}";
try {
json = $.parseJSON(data);
} catch (e) {
// not json
}

Можете да използвате и родния JSON.parse() метод, който хвърля a SyntaxError изключение

Ако очаквате лошо JSON като част от нормалния работен поток на програмата, тогава можете първо да го проверите с regex, Отговорът на Mic е доста твърд Но във вашия случай, PHP винаги трябва да генерира валиден json при нормални условия. Ако неговата невалидна вероятно е грешка в софтуера ви


7 за отговор № 2
try {
jQuery.parseJSON( json )
//must be valid JSON
} catch(e) {
//must not be valid JSON
}

6 за отговор № 3

Данните за връщане винаги са низ (т.е. последователност от знаци). Но ако кажете на jQuery очаквате json отговор, той ще се опита да конвертира низ в javascript обект за вас.
Няма специален мрежов протокол за прехвърляне на обекти на javascript по интернет.


-1 за отговор № 4

В javascript можете да използвате тип