无法将 JSON 写入文件 (Xamarin C#)
Cannot write JSON to file (Xamarin C#)
我尝试将 JSON 写入文件,如下所示:
string url2 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=83";
JsonValue json = await FetchAsync(url2);
var path = System.Environment.GetFolderPath(
System.Environment.SpecialFolder.ApplicationData);
var filename = Path.Combine(path, "cache.txt");
File.WriteAllText(filename, json);
public async Task<JsonValue> FetchAsync(string url)
{
System.IO.Stream jsonStream;
JsonValue jsonDoc;
using (var httpClient = new System.Net.Http.HttpClient())
{
jsonStream = await httpClient.GetStreamAsync(url);
jsonDoc = JsonObject.Load(jsonStream);
}
return jsonDoc;
}
当我调试时出现错误...
System.InvalidCastException: Specified cast is not valid.
...在这一行中:
File.WriteAllText(filename, json);
我的错误在哪里?
要从 URL
中获取 Json 字符串的代码段
public async Task<string> FetchAsync(string url)
{
string jsonString;
using (var httpClient = new System.Net.Http.HttpClient())
{
var stream = await httpClient.GetStreamAsync(url);
StreamReader reader = new StreamReader(stream);
jsonString = reader.ReadToEnd();
}
return jsonString;
}
调用上述方法并将字符串保存到本地文件的代码段。
string url2 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=83";
var json = await FetchAsync(url2);
var path = System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
var filename = Path.Combine(path, "cache.txt");
File.WriteAllText(filename,json);
稍后从该文件读取 Json 字符串并将其转换为 Json
的片段
JsonValue readJson;
var jsonString =File.ReadAllText(filename);
readJson = JsonObject.Parse(jsonString);
我尝试将 JSON 写入文件,如下所示:
string url2 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=83";
JsonValue json = await FetchAsync(url2);
var path = System.Environment.GetFolderPath(
System.Environment.SpecialFolder.ApplicationData);
var filename = Path.Combine(path, "cache.txt");
File.WriteAllText(filename, json);
public async Task<JsonValue> FetchAsync(string url)
{
System.IO.Stream jsonStream;
JsonValue jsonDoc;
using (var httpClient = new System.Net.Http.HttpClient())
{
jsonStream = await httpClient.GetStreamAsync(url);
jsonDoc = JsonObject.Load(jsonStream);
}
return jsonDoc;
}
当我调试时出现错误...
System.InvalidCastException: Specified cast is not valid.
...在这一行中:
File.WriteAllText(filename, json);
我的错误在哪里?
要从 URL
中获取 Json 字符串的代码段public async Task<string> FetchAsync(string url)
{
string jsonString;
using (var httpClient = new System.Net.Http.HttpClient())
{
var stream = await httpClient.GetStreamAsync(url);
StreamReader reader = new StreamReader(stream);
jsonString = reader.ReadToEnd();
}
return jsonString;
}
调用上述方法并将字符串保存到本地文件的代码段。
string url2 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=83";
var json = await FetchAsync(url2);
var path = System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
var filename = Path.Combine(path, "cache.txt");
File.WriteAllText(filename,json);
稍后从该文件读取 Json 字符串并将其转换为 Json
的片段JsonValue readJson;
var jsonString =File.ReadAllText(filename);
readJson = JsonObject.Parse(jsonString);