Я читаю JSON из файла, и когда я пытаюсь покинуть его, используя NewTonsoft JSON, он возвращает NULL. Я строю класс JSON с http://json2csharp.com/. Я не уверен в причине, по которой он говорит, что он является из -за особых символов, таких как \ n, \ r и т.д.{
"Machine Learning Functions": [{
"Function": "JaccardDistance",
"ArgCount": 2,
"Arg1": "Point1",
"Arg1Type": "Point",
"Arg2": "Point2",
"Arg2Type": "Point",
"Return": "distance",
"ReturnType": "Double"
}],
"Math Functions": [{
"Function": "Cosine",
"ArgCount": 2,
"Arg1": "document1",
"Arg1Type": "String",
"Arg2": "document2",
"Arg2Type": "String",
"Return": "angle",
"ReturnType": "Integer"
}, {
"Function": "SQRT",
"ArgCount": 1,
"Arg1": "SomeNumber",
"Arg1Type": "Integer",
"Return": "Number",
"ReturnType": "Integer"
}]
}
< /code>
c# code (взят из json2csharp) < /p>
public class MachineLearningFunction
{
public string Function { get; set; }
public int ArgCount { get; set; }
public string Arg1 { get; set; }
public string Arg1Type { get; set; }
public string Arg2 { get; set; }
public string Arg2Type { get; set; }
public string Return { get; set; }
public string ReturnType { get; set; }
}
public class MathFunction
{
public string Function { get; set; }
public int ArgCount { get; set; }
public string Arg1 { get; set; }
public string Arg1Type { get; set; }
public string Arg2 { get; set; }
public string Arg2Type { get; set; }
public string Return { get; set; }
public string ReturnType { get; set; }
}
public class RootObject
{
public List MachineLearningFunctions { get; set; }
public List MathFunctions { get; set; }
}
< /code>
Этот JSON хранится в файле, и я читаю следующим образом, когда я сохраняю точку разрыва, он читает строку, вводя некоторые специальные символы, такие как \ n, \ r и т. Д. Но когда я пытаюсь десериализировать точку разрыва, показывает NULL, и я получаю NULL ссылочное исключение при итерации через список. string json = string.Empty;
using (StreamReader reader = new StreamReader(@"C:\Users\Nikh\OneDrive\Documents\Application/json.txt"))
{
json = reader.ReadToEnd();
}
ParseAndConstructJson(json);
public void ParseAndConstructJson(string json) //Using Newtonsoft json
{
RootObject obj = JsonConvert.DeserializeObject(json);
foreach (var item in obj.MachineLearningFunctions)
{
MessageBox.Show(item.Function);
}//DataGrid dg = new DataGrid();
}
Подробнее здесь: https://stackoverflow.com/questions/410 ... turns-null
Чтение JSON из файла и десеризации всегда возвращает NULL ⇐ C#
Место общения программистов C#
-
Anonymous
1753388316
Anonymous
Я читаю JSON из файла, и когда я пытаюсь покинуть его, используя NewTonsoft JSON, он возвращает NULL. Я строю класс JSON с http://json2csharp.com/. Я не уверен в причине, по которой он говорит, что он является из -за особых символов, таких как \ n, \ r и т.д.{
"Machine Learning Functions": [{
"Function": "JaccardDistance",
"ArgCount": 2,
"Arg1": "Point1",
"Arg1Type": "Point",
"Arg2": "Point2",
"Arg2Type": "Point",
"Return": "distance",
"ReturnType": "Double"
}],
"Math Functions": [{
"Function": "Cosine",
"ArgCount": 2,
"Arg1": "document1",
"Arg1Type": "String",
"Arg2": "document2",
"Arg2Type": "String",
"Return": "angle",
"ReturnType": "Integer"
}, {
"Function": "SQRT",
"ArgCount": 1,
"Arg1": "SomeNumber",
"Arg1Type": "Integer",
"Return": "Number",
"ReturnType": "Integer"
}]
}
< /code>
c# code (взят из json2csharp) < /p>
public class MachineLearningFunction
{
public string Function { get; set; }
public int ArgCount { get; set; }
public string Arg1 { get; set; }
public string Arg1Type { get; set; }
public string Arg2 { get; set; }
public string Arg2Type { get; set; }
public string Return { get; set; }
public string ReturnType { get; set; }
}
public class MathFunction
{
public string Function { get; set; }
public int ArgCount { get; set; }
public string Arg1 { get; set; }
public string Arg1Type { get; set; }
public string Arg2 { get; set; }
public string Arg2Type { get; set; }
public string Return { get; set; }
public string ReturnType { get; set; }
}
public class RootObject
{
public List MachineLearningFunctions { get; set; }
public List MathFunctions { get; set; }
}
< /code>
Этот JSON хранится в файле, и я читаю следующим образом, когда я сохраняю точку разрыва, он читает строку, вводя некоторые специальные символы, такие как \ n, \ r и т. Д. Но когда я пытаюсь десериализировать точку разрыва, показывает NULL, и я получаю NULL ссылочное исключение при итерации через список. string json = string.Empty;
using (StreamReader reader = new StreamReader(@"C:\Users\Nikh\OneDrive\Documents\Application/json.txt"))
{
json = reader.ReadToEnd();
}
ParseAndConstructJson(json);
public void ParseAndConstructJson(string json) //Using Newtonsoft json
{
RootObject obj = JsonConvert.DeserializeObject(json);
foreach (var item in obj.MachineLearningFunctions)
{
MessageBox.Show(item.Function);
}//DataGrid dg = new DataGrid();
}
Подробнее здесь: [url]https://stackoverflow.com/questions/41004449/reading-json-from-file-and-deserializing-always-returns-null[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия