У меня есть данные с моего LDAP-сервера как [u'abc] Я просто хочу, чтобы он извлекал abc [duplicate]

сначала отключить элемент, используя метод prop() jQuery, т. е.

$("selector").prop("disabled",true);

, и если вы хотите включить, щелкните просто сделайте это, используя

$("selector").prop("disabled",false);
103
задан moffeltje 21 July 2017 в 14:27
поделиться

7 ответов

U-префикс означает, что у вас есть строка Unicode. Когда вы действительно используете строку, она не будет отображаться в ваших данных. Не нажимайте напечатанный вывод.

Например, попробуйте следующее:

print mail_accounts[0]["i"]

Вы не увидите u.

123
ответ дан Ned Batchelder 16 August 2018 в 02:20
поделиться
  • 1
    Ваш ответ был самым полезным, я получил, и я думаю, что этот вопрос был бы очень оценен: stackoverflow.com/questions/956867/… – jimh 19 March 2016 в 02:17
  • 2
    Спасибо огромное ! я так долго путался за письмо – ketan khandagale 25 October 2016 в 13:26
  • 3
    За исключением случаев, когда вы копируете и вставляете их, у вас есть огромное количество u s в ваших данных. Честно говоря, распечатать u, чтобы указать, что это строка Юникода, является одной из худших ошибок в Python. Совершенно смешно. Почему бы не напечатать a перед каждой строкой, если это ASCII? i, если это целое число? – Snowcrash 5 August 2018 в 11:17
  • 4
    В Python 2 строки Unicode представляют собой другой тип, чем строки байтов, поэтому в представлении данных содержится префикс, указывающий на это. Дело не в том, что такое содержимое, а в типе. Префикс u прекрасен, если вы вставляете содержимое обратно в программу Python. Если нет, возможно, вы хотите использовать json.dumps (). – Ned Batchelder 5 August 2018 в 15:18

Префикс u означает, что эти строки являются unicode, а не 8-битными. Лучший способ не показывать префикс u - это переключиться на Python 3, где строки по умолчанию имеют unicode. Если это не вариант, конструктор str преобразует из unicode в 8-битный, поэтому просто рекурсивно перебирает результат и преобразует unicode в str. Однако, вероятно, лучше всего оставить строки как unicode.

6
ответ дан Abe Karplus 16 August 2018 в 02:20
поделиться

Все круто, мужик. «U» - это хорошо, это указывает на то, что строка имеет тип Unicode в python 2.x.

http://docs.python.org/2/howto/unicode.html#the-unicode-type

116
ответ дан Aman 16 August 2018 в 02:20
поделиться
  • 1
    Мне нравится очень холодный тон этого. +1 для (правильного) ответа, который заставил меня улыбнуться. – mgilson 18 December 2012 в 21:56
  • 2
    Просто, холодно ... (┛◉Д◉) ┛ 彡 ┻━┻ – fuzz 5 July 2016 в 00:57
  • 3
    Это был самый расслабляющий ответ, который я прочитал в StackOverflow. – aanrv 20 March 2017 в 03:54

Я продолжал сталкиваться с этой проблемой при попытке захвата данных JSON в журнале с помощью библиотеки Python logging для целей отладки и устранения неполадок. Получение символа u является реальной неприятностью, когда вы хотите скопировать текст и вставить его в свой код где-нибудь.

Как вам все скажут, это потому, что это представление Юникода, и оно может исходят из того факта, что вы использовали json.loads() для загрузки данных из строки в первую очередь.

Если вам нужно представление JSON в журнале, без префикса u, трюк должен использовать json.dumps() перед его записью. Например:

import json
import logging

# Prepare the data
json_data = json.loads('{"key": "value"}')

# Log normally and get the Unicode indicator
logging.warning('data: {}'.format(json_data))
>>> WARNING:root:data: {u'key': u'value'}

# Dump to a string before logging and get clean output!
logging.warning('data: {}'.format(json.dumps(json_data)))
>>> WARNING:root:data: {'key': 'value'}
0
ответ дан jonatan 16 August 2018 в 02:20
поделиться

Юникод является подходящим типом здесь. В документах JSONDecoder описывается таблица преобразования и указано, что строковые объекты json декодируются в объекты Unicode

https://docs.python.org/2/library/json.html#encoders-and- декодеры

JSON                    Python
==================================
object                  dict
array                   list
string                  unicode
number (int)            int, long
number (real)           float
true                    True
false                   False
null                    None

"определяет кодировку, используемую для интерпретации любых объектов str, декодированных этим экземпляром (по умолчанию UTF-8)."

8
ответ дан Mark Amery 16 August 2018 в 02:20
поделиться

Я считаю, что печать d3 ниже - та, которую вы искали (которая представляет собой комбинацию дампов и нагрузок):)

Имея:

import json

d = """{"Aa": 1, "BB": "blabla", "cc": "False"}"""

d1 = json.loads(d)              # Produces a dictionary out of the given string
d2 = json.dumps(d)              # Produces a string out of a given dict or string
d3 = json.dumps(json.loads(d))  # 'dumps' gets the dict from 'loads' this time

print "d1:  " + str(d1)
print "d2:  " + d2
print "d3:  " + d3

Печать:

d1:  {u'Aa': 1, u'cc': u'False', u'BB': u'blabla'}
d2:  "{\"Aa\": 1, \"BB\": \"blabla\", \"cc\": \"False\"}"
d3:  {"Aa": 1, "cc": "False", "BB": "blabla"}
31
ответ дан Mercury 16 August 2018 в 02:20
поделиться
  • 1
    А? json.dumps преобразует dict обратно в строку (JSON-encoded). Это не то, что хотел сделать ОП. -1. – Mark Amery 16 January 2016 в 14:36
  • 2
    Но если вы используете его вместе с json.loads, он выводит словарь без кодированных символов. Wihch - ответ на вопрос (это d3-надпись выше), хорошо прочитайте ответ! – Mercury 16 January 2016 в 14:53

Эти символы «u», добавленные к объекту, означают, что объект закодирован в «unicode».

Если вы хотите удалить эти «u» символы из своего объекта, вы можете сделать это:

import json, ast
jdata = ast.literal_eval(json.dumps(jdata)) # Removing uni-code chars

Давайте проверим из оболочки python

>>> import json, ast
>>> jdata = [{u'i': u'imap.gmail.com', u'p': u'aaaa'}, {u'i': u'333imap.com', u'p': u'bbbb'}]
>>> jdata = ast.literal_eval(json.dumps(jdata))
>>> jdata
[{'i': 'imap.gmail.com', 'p': 'aaaa'}, {'i': '333imap.com', 'p': 'bbbb'}]
1
ответ дан Nivesh Krishna 16 August 2018 в 02:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: