我有这个JSon文件:
{
"fruits": [
{
"id":"01",
"name": "orange"
},
{
"id":"02",
"name": "banana"
}]
}
此文件位于服务器(http://localhost/fruits.json)
中我想开发一个Windows应用程序,以便能够添加到这个json文件尽可能多的水果,我能够使用JSon.net从服务器获取JSon字符串,但我无法更改来自c#应用程序的JSon文件内容。
我想知道是否有可能做到这一点以及它是如何实现的。
答案 0 :(得分:1)
首先必须将JSON字符串反序列化为强类型对象(如@David在评论中所述),然后对其进行修改。如果您想将数据发送回服务器,您应该将object
序列化回JSON并将其POST回服务器。
以下是反序列化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
对象,您可以添加一些水果。