Json массив с [ в начале, с обработкой slice, появляется проблема



  • Всем добрый день, не подскажите пожалуйста, как почистить JSON от квадратных скобок? Я уже голову немножко сломал.

    7 из 10 запросов отдаются {}

    В этом случае все замечательно обрабатывается JSON.

    А вот несколько мне нужных отдаются через [{}]

    Начал срезать slice первый и последний символ... И у меня нет слов ))

    Начало:

    {"tzid":5362674,"form":"index","time":197,"number"

    Конец:

    time":850,"form":"index"}

    Это примеры. Никаких лишних символов больше не вижу.

    На выходе:

    SyntaxError: Unable to parse JSON string во время выполнения действия

    Чего только уже не попробовал. Это смс сервис.

    Буду благодарен за любую помощь. Никаких косяков в ключах не вижу.

    JSON разные, выглядят вот так:

    var json = JSON.parse([[SAVED_CONTENT]])
    VAR_PHONE_NUMBER = json.number

    Как пример. Без [] все замечательно работает.

    Где умудрился накосячить? Куда копать даже не представляю.



  • @lcatlas С квадратными скобками все работает. Вот пример

    [[COK]]='[{"activePromotions":[{"promotionId":"db4bebb7-1d54-4478-b686-2975141af799","productId":"3111","sellerId":1932}]}]'
    
    [[AAAA]] = JSON.parse([[COK]])[0].activePromotions[0].promotionId
    


  • @lcatlas said in Json массив с [ в начале, с обработкой slice, появляется проблема:

    {"tzid":5362674,"form":"index","time":197,"number"

    Если массив вида

    VAR_SAVED_CONTENT = [{"tzid":5362674,"form":"index","time":197,"number":123}]
    

    То распасить можно так

    var json = JSON.parse(VAR_SAVED_CONTENT )
    VAR_NUMBER = json[0].number
    

    Проверять какой пришел можно через typeof

    if(typeof json == "object"){
    VAR_NUMBER = json.number
    }else{
    VAR_NUMBER = json[0].number
    }
    


  • Массив у меня выглядит вот так и JSON ничего мне к сожалению не отдает на парсинге.

    [{"tzid":5362674,"form":"index","time":197,"number":"+79312364579","msg":"4634446","service":"46346","country":7,"response":"TZ_NUM_ANSWER"},{"country":7,"sum":3,"service":"735737","number":"+79151847100","response":"TZ_NUM_WAIT","tzid":11241174,"time":850,"form":"index"}]



  • Спасибо большое, DrPrime, решился вопрос.


Log in to reply