Почему JSON .parse () внезапно начал выдавать другой результат? - PullRequest
1 голос
/ 26 мая 2020

Я использую Flask и Jinja 2 в сочетании с Javascript. Я передаю CSV, используя pandas

Чтобы загрузить переменные в javascript, я передаю их из бэкэнда

def index():
  df = pd.load_csv(...)
  return render_template('..', df=df.to_json(orient='records')

, а во внешнем интерфейсе у меня есть:

var df = JSON.parse({{ df |tojson}});
... use df

До сегодняшнего дня это всегда возвращалось как массив из 1 записи json вот так:

[
{
  "ID": [101, 102, 103],
  "Person": ["Alice", "Bob", "Jimmy"]
}
]

Я всегда считал это странным способом сделать это, но он не делал огромных разница. Но сегодня по какой-то причине он возвращает то, что вы ожидали:

[
{
  'ID': 101,
  'Person': 'Alice'
},
... other records
]

Я понятия не имею, почему он решил измениться, и меня беспокоит, что он может случайным образом измениться в процессе производства. Я не обновлял flask или jinja, но, возможно, Firefox обновлялся автоматически. У меня нет проблем, если он останется таким, но я ломаю голову, почему это изменилось. Может ли кто-нибудь просветить меня, поскольку я не могу найти никаких ответов при поиске inte rnet.

с использованием `df.to_json(orient='columns') не дает результата, которого я ожидал? Что дает?

Изменить: отсутствует "

"
...