Когда вы говорите [{"articles" : <whatever>}]
, квадратные скобки указывают, что эта структура данных является списком, содержащим один элемент, который является словарем. Таким образом, вам нужно что-то вроде:
json_decoded[0]["articles"] = [{"id": filename, "phrases": phrases}]
Я не уверен, что вы на самом деле хотите, чтобы все эти списки были там. Это может быть чище:
keywordJson = {'articles': {'id': filename, 'phrases': phrases}}
И тогда код будет:
json_decoded["articles"] = {"id": filename, "phrases": phrases}
Вот примерная грубая эквивалентность:
Словарь
< => unordered_map
HashSet
<=> unordered_set
Список
<=> вектор
LinkedList
<=> list
.NET BCL (библиотека базовых классов) не имеет красно-черных деревьев (stl map) или очередей с приоритетами (make_heap ( ), push_heap (), pop_heap ()).
.NET-коллекции не используют «итераторы», как в C ++. Все они реализуют IEnumerable
и могут быть перебраны с помощью оператора « foreach
». Если вы хотите вручную управлять итерацией, вы можете вызвать « GetEnumerator ()
» в коллекции, которая возвращает объект IEnumerator
. IEnumerator
приблизительно эквивалентен «++» на итераторе C ++, а «Current» примерно эквивалентен оператору указания указателя («*»).
В C # есть языковая функция, называемая «итераторы». Однако они не совпадают с «объектами итераторов» в STL. Вместо этого они являются языковой функцией, которая позволяет автоматически реализовать IEnumerable
. Для получения дополнительной информации см. Документацию для выражений доходности
и доходности
.
В C # есть языковая функция, называемая «итераторы». Однако они не совпадают с «объектами итераторов» в STL. Вместо этого они являются языковой функцией, которая позволяет автоматически реализовать IEnumerable
. Для получения дополнительной информации см. Документацию для выражений доходности
и доходности
.
В C # есть языковая функция, называемая «итераторы». Однако они не совпадают с «объектами итераторов» в STL. Вместо этого они являются языковой функцией, которая позволяет автоматически реализовать IEnumerable
. Для получения дополнительной информации см. Документацию для выражений доходности
и доходности
.
Вы также можете взглянуть на STL / CLR , то есть
. .. это упаковка Стандартная библиотека шаблонов (STL), подмножество стандартной библиотеки C ++, для использования с C ++ и .NET Рамочная общеязыковая среда выполнения (CLR). С STL / CLR вы можете использовать все контейнеры, итераторы и алгоритмы STL в управляемой Кроме того, имейте в виду, что вы можете скомпилировать свой существующий код C ++ / STL с флагом / clr .
Этот проект SorceForge выглядит как интересный ресурс для того, что вы ищете.
Не существует потрясающего прямого сопоставления, поскольку, например, наборы C ++ и сопоставление используют компараторы, тогда как .Net HashSet и Dictionary используйте хеш-коды.