Мне просто нужно было проанализировать вложенный словарь, например
{
"x": {
"a": 1,
"b": 2,
"c": 3
}
}
, где JsonConvert.DeserializeObject
не помогает. Я нашел следующий подход:
var dict = JObject.Parse(json).SelectToken("x").ToObject<Dictionary<string, int>>();
SelectToken
позволяет вам копать до нужного поля. Вы даже можете указать путь, подобный "x.y.z"
, чтобы перейти дальше в объект JSON.
Две вещи:
Если вы хотите использовать библиотеку, вам не нужно использовать «другой файл». Вы можете просто отредактировать вкладку package.json
, используя встроенный редактор, чтобы добавить нужную библиотеку.
Тем не менее, встроенный редактор действительно хорош только для тривиальных вещей, так что настройка вашего собственного проекта Firebase Cloud Function - хорошая идея .
Он не загружает код автоматически, firebase init
просто создает набор заглушек. Конечно, вы можете просто скопировать и вставить файлы из встроенного редактора в локальную копию.
Однако, есть также способ загрузить zip-файл с файлами проекта. Нажав на значок загрузки, вы получите архив с файлами, включая файл README.md
с подробными инструкциями.
После того, как вы загрузили файлы и развернули их непосредственно в Cloud Functions для Firebase, вы больше не будете использовать встроенный редактор в Dialogflow. Вместо этого вы установите URL выполнения, расположенный прямо над редактором.
Подробности имени, которое вы будете использовать, находятся в файле README.md, но вкратце:
firebase deploy
для установки своего кода в Firebase