json的书写格式

json语法很简单,也很容易理解,具体如下:

语法规则:

数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JSON 值:

数字(整数或浮点数)字符串(在双引号中)逻辑值(true 或 false)数组(在方括号中)对象(在花括号中)null

JSON 名称/值对

名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:

"firstName" : "John"

JSON 对象:

JSON 对象在花括号中书写:对象可以包含多个名称/值对:

{ "firstName":"John" , "lastName":"Doe" }

JSON 数组

JSON 数组在方括号中书写:

数组可包含多个对象:












{
"employees":
[{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones"
}
]}



C# 中json的使用




第一步:
要引用组件(Newtonsoft.Json.dll)
在 Manager NuGet Package 上安装 Newtonsoft.Json ,在cs 文件中引用
第二步:
引用类
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;//引用此组件时,框架4.0以上版本支持;注意版本支持的范围using Newtonsoft.Json.Converters;



json文件



{"UserName":"admin","UserPassword":"111111","level":1},{"UserName":"user","UserPassword":"111111","level":0}]

代码实例:

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;
using Newtonsoft.Json.Linq;//引用此组件时,框架4.0以上版本支持;注意版本支持的范围
using Newtonsoft.Json.Converters;
using System.IO;


namespace WindowsFormsApp13
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}


private void Form1_Load(object sender, EventArgs e)
{


}


private void button1_Click(object sender, EventArgs e)
{
LoadUsers();

}
private List<User> Users;
public class User
{
public String UserName { get; set; }
public String UserPassword { get; set; }
public int level { get; set; }
}
public void LoadUsers()
{
Users = new List<User>();
//json格式字符串转换为实体类,大括号{}表示对象,[]数组表示列表。
//string Jsonsting = File.ReadAllText(jsonfile,Encoding.Default);//加编码,不然乱码
;
//读取json方法2
//using (StreamReader sr = File.OpenText(jsonfile))
//{
// input = sr.ReadToEnd();//json内容
// sr.Close();
//}


String userfile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "users\\user.json");
//string jsonfile = Application.StartupPath + @"\config.json";//JSON文件路径


try
{
Users = JsonConvert.DeserializeObject<List<User>>(File.ReadAllText(userfile, Encoding.Default));
foreach (var item in Users)
listBox1.Items.Add(item.UserName);


}
catch { }


}
void SaveUsers()
{
try
{
String userfile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "users");
if (!Directory.Exists(userfile))
{
Directory.CreateDirectory(userfile);
}


userfile = Path.Combine(userfile, "user.json");
string output = JsonConvert.SerializeObject(Users);
File.WriteAllText(userfile, output);
}
catch { }
}


}
}



效果:

C# json简介_数组

-----------------------------------