Рейтинг:
1
Richard MacCutchan
Данные, которые у вас есть, уже близки к правильному JSON-файлу, но вам нужно удалить все строки "x item(s)" :
{4 items // these strings need to be removed
"message":"accurate"
"cod":"200"
"count":1
"list":[1 item
0:{11 items
"id":2643743
"name":"London"
"coord":{2 items
"lat":51.5085
"lon":-0.1257
}
"main":{6 items
"temp":291.57
"feels_like":288.33
"temp_min":290.37
"temp_max":292.59
"pressure":1024
"humidity":42
}
"dt":1595275779
"wind":{2 items
"speed":3.1
"deg":10
}
"sys":{1 item
"country":"GB"
}
"rain":NULL
"snow":NULL
"clouds":{1 item
"all":7
}
"weather":[1 item
0:{4 items
"id":800
"main":"Clear"
"description":"clear sky"
"icon":"01n"
}
]
}
]
}
Я добавил отступы, чтобы вы могли видеть различные части данных. Но так как это уже в формате JSON, вам просто нужно использовать TextWriter, чтобы записать его в файл. Что вы будете с ним делать после этого-непонятно.
Member 12586110
Привет, Ричард Маккатчан, Спасибо за ваш ответ. Например, я хотел бы сохранить документ json на диск "C:\jsonDocs\weather.json"
Richard MacCutchan
Так в чем же проблема при записи большого количества строк текста в файл?
Member 12586110
Привет, Ричард, изменил свой вопрос соответствующим образом, я использую JavaScriptSerializer. Полезная нагрузка api-это json. Я десериализуюсь и сериализуюсь, есть ли гладкий способ сделать это.
City[] Cities = oJS.Десериализовать<city[]>(города);
json = oJS.Serialize(города);
Richard MacCutchan
Почему вы десериализуете его только для того, чтобы снова сериализовать? У вас есть необработанный текст JSON из вашего сервиса RESTful, так что вы можете просто записать его в свой текстовый файл прямо сейчас.
Member 12586110
Привет, Ричард, я пытался, но не смог заставить его написать необработанный файл.
Richard MacCutchan
Пробовал что? Пожалуйста, используйте Улучшить вопрос ссылка выше и показать нам код, который вы пробовали, и объяснить, что произошло.
Member 12586110
Привет, Ричард, внес изменения в код. Я тоже попробовал нижеследующее, но безуспешно.
Список<Объект> У buildingslist = новый список<объект&ГТ;();
формат JSON = ОАО.Сериализовать(buildingslist);
Спасибо.
Richard MacCutchan
Так что же случилось? Вы не можете ожидать, что мы догадаемся, что вы имеете в виду. - не повезло" Пожалуйста, подумайте о том, что ваш код пытается сделать, и объясните это должным образом подробно, включая то, какие результаты вы ожидаете, какие результаты вы видите, а также любые сообщения об ошибках или исключения.
Member 12586110
Привет, Ричард, документ json пуст без ошибок. Если переключить код обратно на десериализацию и сериализацию, это сработает.
City[] Cities = oJS.Десериализовать<city[]>(города);
json = oJS.Serialize(города);
Richard MacCutchan
Ну, я думаю, вы не читали мой предыдущий ответ.
Рейтинг:
0
Member 12586110
Привет, Майк Хэнки, большое спасибо за ваш ответ. Можем ли мы сделать то же самое с помощью библиотек microsoft?
С уважением
Mike Hankey
NewtonSoft-это очень стабильная утилита, и она очень популярна. Вы можете использовать Диспетчер пакетов NuGet для загрузки его в свое приложение. Что касается утилит uSoft JSON, то я ими не пользуюсь, потому что NewtonSoft намного лучше. Я не знаю, есть ли у uSoft подобная функциональность.
Member 12586110
Конечно. Спасибо.