使用C#修改服务器中的Json文件

时间:2014-01-12 03:32:15

标签: c# json

我有这个JSon文件:

{
"fruits": [
{
   "id":"01",
   "name": "orange"
},
{
   "id":"02",
   "name": "banana"
}]
}

此文件位于服务器(http://localhost/fruits.json

我想开发一个Windows应用程序,以便能够添加到这个json文件尽可能多的水果,我能够使用JSon.net从服务器获取JSon字符串,但我无法更改来自c#应用程序的JSon文件内容。

我想知道是否有可能做到这一点以及它是如何实现的。

1 个答案:

答案 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对象,您可以添加一些水果。