我有这个JSon文件:
{
"fruits": [
{
"id":"01",
"name": "orange"
},
{
"id":"02",
"name": "banana"
}]
}
此文件位于服务器中 (http://localhost/fruits.json)
我想开发一个 Windows 应用程序,以便能够向这个 json 文件添加尽可能多的水果,我能够使用 JSon.net 从服务器获取 JSon 字符串,但我无法从 c# 应用程序更改 JSon 文件内容。
我想知道是否有可能做到这一点以及如何实现它。
首先必须将 JSON 字符串反序列化为强类型对象(如注释中所述@David),然后对其进行修改。如果要将数据发送回服务器,则应将object
序列化回JSON并将其发布回服务器。下面是反序列化 JSON 字符串的示例:
public class Fruit
{
public string id;
public string name;
}
public class FruitCollection
{
public List<Fruit> fruits;
}
...
string jsonString = "Your JSON string goes here";
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(FruitCollection));
FruitCollection fruitCollection = null;
using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString)))
{
fruitCollection = (FruitCollection)ser.ReadObject(ms);
}
现在您已经有了包含实际集合的 fruitCollection
对象,您可以向其添加一些水果。