ФорумПрограммированиеPHP для идиотов → json_encode некорректно работает

json_encode некорректно работает

  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 23 мая 2011 г. 2:36

    Есть массивчик
    $r = array(
    'totalItemsCount' : 222,
    'itemsHtml' : 'куча текста с html-тегами'
    )


    делаю ему json_encode, получаю
    {"totalItemsCount": 222, itemsHtml: {}}

    что ж там неправильно?

    json_last_error() возвращает JSON_ERROR_NONE. У меня все в utf-8.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 23 мая 2011 г. 2:38, спустя 2 минуты 21 секунду

    У меня все в utf-8.

    самый возможный вариант - возможно ты ошибся написав это))
    Сапожник без сапог
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 23 мая 2011 г. 2:51, спустя 12 минут 58 секунд

    та если бы. Но мне ж возвращает не JSON_ERROR_UTF8, хотя пых как раз 5.3.3
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 23 мая 2011 г. 3:10, спустя 18 минут 51 секунду

    слишком большая куча, наверное
    ιιlllιlllι унц-унц
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 23 мая 2011 г. 3:19, спустя 9 минут 5 секунд

    это печально =(
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 23 мая 2011 г. 3:21, спустя 2 минуты 11 секунд


    это печально =(

    это не просто печально а ахуеть как печально

    слишком большая куча, наверное

    да не сильно. Пара-тройка киллобайт
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 23 мая 2011 г. 3:27, спустя 6 минут 6 секунд

    Не обращайте внимание на меня :)

    import simplejson
    r = {
    'totalItemsCount': 222,
    'itemsHtml': 'куча текста с html-тегами'
    }
    print simplejson.dumps(r)


    {"totalItemsCount": 222, "itemsHtml": "\\u043a\\u0443\\u0447\\u0430 \\u0442\\u0435\\u043a\\u0441\\u0442\\u0430 \\u0441 html-\\u0442\\u0435\\u0433\\u0430\\u043c\\u0438"}
    Спустя 43 сек.
    Кстати, дай как кучу текста, или скажи каких она размеров )
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 23 мая 2011 г. 3:32, спустя 4 минуты 57 секунд

    вот это странно
    {"totalItemsCount": 222, itemsHtml: {}}
    не всё полезно, что в swap полезло
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 23 мая 2011 г. 3:36, спустя 3 минуты 17 секунд

    уверен, проблема в Абырвалге.
    выводишь результат как? может plain/text попробуешь?
    ιιlllιlllι унц-унц
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 23 мая 2011 г. 3:42, спустя 6 минут 8 секунд

    master, это невероятно странно, я сам был крайне удивлен.

    adw0rd, http://pastie.org/private/vr1tff4zbvz21lda0lyfpa . Самая последняя строка - это собсно резалт json_encode
    Спустя 40 сек.
    artoodetoo, трабла не на этапе парсинга json'а браузером, так что content-type тут не при чем
    Спустя 26 сек.
    уверен, проблема в Абырвалге.

    да я ж не против. Найти бы ее
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 23 мая 2011 г. 3:48, спустя 6 минут 21 секунду

    кстати, а как мне указать кодировку моего JSON'а?

    вот тут http://www.ietf.org/rfc/rfc4627.txt написано, что content-type должен быть application/json, но корректно ли добавлять charset к такому типу?
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 23 мая 2011 г. 3:57, спустя 8 минут 19 секунд

    не получается воспроизвести твой результат. текст упорно не желает исчезать. может ты его ДО json_encode продевал?
    ιιlllιlllι унц-унц
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 23 мая 2011 г. 4:23, спустя 26 минут 12 секунд

    что значит продевал?
  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 23 мая 2011 г. 4:27, спустя 4 минуты 40 секунд

    корректно ли добавлять charset к такому типу

    нет

    http://pastie.org/private/lccmuebgpsxwlekpq9na
    всё отображает
    Спустя 28 сек.
    что значит продевал?

    проебал )
    не всё полезно, что в swap полезло
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 23 мая 2011 г. 4:47, спустя 19 минут 53 секунды

    да ну что значит проебал?

    попробую на серваке, может там будет ок

Пожалуйста, авторизуйтесь, чтобы написать комментарий!