Подтвердить что ты не робот

Преобразование строки в объект JSON

Как преобразовать строку в объект? Я столкнулся с этой проблемой, потому что я пытаюсь прочитать элементы в строке JSON, используя "каждый".

Моя строка приведена ниже.

jsonObj = "{"TeamList" : [{"teamid" : "1","teamname" : "Barcelona"}]}"

Я использовал eval, и я использовал

var obj = $.parseJSON(jsonObj);

И я также использовал

var obj= eval("(" + jsonObj + ")");

Но он все время приходит null

4b9b3361

Ответ 1

Включить строку в одинарной кавычке, она должна работать. Попробуйте это.

var jsonObj = '{"TeamList" : [{"teamid" : "1","teamname" : "Barcelona"}]}';
var obj = $.parseJSON(jsonObj);

Демо

Ответ 2

Сочетание Saurabh Chandra Patel ответ с помощью Molecular Man , вы должны иметь что-то вроде этого:

JSON.parse('{"TeamList" : [{"teamid" : "1","teamname" : "Barcelona"}]}');

Ответ 3

попробовать:

var myjson = '{"TeamList" : [{"teamid" : "1","teamname" : "Barcelona"}]}';
var newJ= $.parseJSON(myjson);
    alert(newJ.TeamList[0].teamname);

Ответ 4

Ваша строка недействительна. Двойные квоты не могут быть внутри двойных кавычек. Вам следует избегать их:

"{\"TeamList\" : [{\"teamid\" : \"1\",\"teamname\" : \"Barcelona\"}]}"

или использовать одинарные кавычки и двойные кавычки

'{"TeamList" : [{"teamid" : "1","teamname" : "Barcelona"}]}'

Ответ 5

только с js

   JSON.parse(jsonObj);

reference

Ответ 6

Быстрый ответ, эта работа eval:

eval('var obj = {"TeamList" : [{"teamid" : "1","teamname" : "Barcelona"}]}')

Ответ 7

Может быть, эта помощь:)

    $('body').on('blur','.postal_code_blur_class',function()
            {
                 var post_code =$(this).val();
                 $.ajax({
                     url :'http://maps.googleapis.com/maps/api/geocode/json?address='+post_code+'&sensor=true',
                     dataType:'json',
                     type   : 'get',
                     success: function (response) 
                    {
                        var obj = JSON.stringify(response); //convert to string
                        var obj1 = $.parseJSON(obj); //convert string to obj
                        if(obj1.status=='OK')
                        {

                          //assign value
                          $('.city_class').val(obj1.results[0].address_components[1].long_name);
                          $('.state_class').val(obj1.results[0].address_components[3].short_name);
                          $('.country_id_class').val(obj1.results[0].address_components[4].short_name);
                        }
                        //$('.city_class').val(obj.city);
                        //$('.state_class').val(obj.state);
                        //$('.country_id_class').val(obj.country);
                        return true;

                    },
                    error  : function () 
                    {
                        console.log('internal server error');
                    }
                });
            });

Ответ 8

Без оценки

Ваша исходная строка не была реальной строкой.

jsonObj = "{"TeamList" : [{"teamid" : "1","teamname" : "Barcelona"}]}"

Самый простой способ обернуть все это в одну цитату.

 jsonObj = '"{"TeamList" : [{"teamid" : "1","teamname" : "Barcelona"}]}"'

Затем вы можете объединить два шага, чтобы разобрать его в JSON:

 $.parseJSON(jsonObj.slice(1,-1))