смысл возвращаемого списка Python JSON - PullRequest
0 голосов
/ 22 марта 2010

Я новичок в Python, поэтому я не очень хорошо знаю язык.

отсюда взят следующий пример http://docs.python.org/library/json.html

>>> import json
>>> json.loads('["foo", {"bar":["baz", null, 1.0, 2]}]')
[u'foo', {u'bar': [u'baz', None, 1.0, 2]}]

что ты имеешь в виду? и как мне узнать, какие элементы доступны в словаре?

Ответы [ 3 ]

4 голосов
/ 22 марта 2010

Это Юникод . Итерация по dict дает его ключи:

for k in D:
  print k, D[k]
3 голосов
/ 22 марта 2010

Ответ Игнасио немного более многословный (без голосов для меня)

u'something »означает, что« что-то »является строкой в ​​юникоде, а не, например, строкой ascii. Обычно текст кодируется в виде 8-битных символов, и вам нужна кодировка, чтобы правильно интерпретировать / отобразить его. Unicode является 16-разрядным и не нуждается в отдельных кодировках для различных зависящих от локали символов.

В словаре (заключенном в {}) ключ - это часть перед «:», а значение - после.

У вас есть список с элементами:

  • foo, строка Unicode
  • словарь, содержащий:
    • ключ (юникод) "bar" и доступный через этот ключ список со значениями
      • Unicode String Baz,
      • нет
      • Число с плавающей запятой 1,0
      • целое число 2
1 голос
/ 22 марта 2010

Здесь может быть полезна функция python type .

>>> import json
>>> data = json.loads('["foo", {"bar":["baz", null, 1.0, 2]}]')
>>> data
[u'foo', {u'bar': [u'baz', None, 1.0, 2]}]
>>> type(data)
<type 'list'>
>>> type(data[0])
<type 'unicode'>
>>> type(data[1])
<type 'dict'>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...