Сериализация коллекции для разбора в python - PullRequest
0 голосов
/ 14 декабря 2011

У меня есть коллекция простых элементов в C #.Элемент выглядит так:

public class Element
{
    public string AName { get; private set; }

    public string PName { get; private set; }

    public string Value { get; set; }
}

Мне нужно передать эту коллекцию в виде строки скрипту Python.И в Python для каждого элемента мне нужно вызвать функцию, как Func (AName, PName, Value).Я сделал это путем сериализации коллекции в JSON на C # и написания кода на Python:

elements = json.loads(JSON)
for element in elements:
    Func(routeLayer, element['AName'], element['PName'], element['Value'])

Но теперь выясняется, что я не могу использовать модуль Python json.Поэтому мне нужен новый способ передать эту коллекцию в скрипт и не использовать никаких дополнительных модулей.Я настоящий нуб в Python, поэтому решения, которые я могу себе представить, ужасны.Можете ли вы дать мне совет?

Ответы [ 2 ]

1 голос
/ 14 декабря 2011

Если есть какой-то символ, который, как вы можете гарантировать, отсутствует в строках для AName, PName и Value, тогда вы можете использовать этот символ в качестве разделителя. В C # вы можете «сериализовать» информацию, просто соединив три строки с разделителем, например, "foo,bar,baz".

Затем в Python информация может быть десериализована с помощью

aName,pName,value = element.split(',')

PS. Просто из любопытства, почему вы не можете импортировать модули в стандартную библиотеку?

0 голосов
/ 14 декабря 2011

Наиболее распространенным стандартом, который должен быть доступен и в Python, является XML.Рассматривали ли вы эту опцию?

ОБНОВЛЕНИЕ: Вы можете использовать XmlSerializer в C # для сериализации в виде XML.И здесь - это то, что я нашел для Python

...