1. 导入Json.NET包
下载安装后将会在引用中发现新的包
2. 序列化Json
2.1 代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Newtonsoft.Json;
namespace mAppwidgetCoordinates
{
public partial class Form1 : Form
{
public Form1()
{
Console.WriteLine("Form1");
InitializeComponent();
MapPoints mapPoints = new MapPoints();
mapPoints.point.X = 12;
mapPoints.point.Y = 11;
mapPoints.id = "b123";
string output = JsonConvert.SerializeObject(mapPoints);
Console.WriteLine(output);
}
}
public class MapPoints {
public Point point;
public String id;
public MapPoints() {
point = new Point();
}
}
}
2.2 软件输出:
{"point":"12, 11","id":"b123"}
3. Json反序列化
3.1 代码:
在上面的Form1 中添加如下代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Newtonsoft.Json;
namespace mAppwidgetCoordinates
{
public partial class Form1 : Form
{
public Form1()
{
Console.WriteLine("Form1");
InitializeComponent();
MapPoints mapPoints = new MapPoints();
mapPoints.point.X = 12;
mapPoints.point.Y = 11;
mapPoints.id = "b123";
string output = JsonConvert.SerializeObject(mapPoints);
Console.WriteLine(output);
MapPoints m1;
m1 = JsonConvert.DeserializeObject<MapPoints>(output);
Console.WriteLine(m1.id);
Console.WriteLine("x = "+m1.point.X+"y = "+m1.point.Y);
}
}
public class MapPoints {
public Point point;
public String id;
public MapPoints() {
point = new Point();
}
}
}
3.2 软件输出:
b123
x = 12y = 11