前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >json简介

json简介

作者头像
zls365
发布2020-08-19 11:52:32
5390
发布2020-08-19 11:52:32
举报
文章被收录于专栏:CSharp编程大全

json的书写格式 json语法很简单,也很容易理解,具体如下: 语法规则: 数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JSON 值:

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

JSON 名称/值对

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

JSON 对象:

JSON 对象在花括号中书写:对象可以包含多个名称/值对: { "firstName":"John" , "lastName":"Doe" }

JSON 数组

JSON 数组在方括号中书写:

数组可包含多个对象:

代码语言:javascript
复制
{
"employees": 
[{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" 
}
]}

C# 中json的使用

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

json文件

代码语言:javascript
复制
{"UserName":"admin","UserPassword":"111111","level":1},{"UserName":"user","UserPassword":"111111","level":0}]

代码实例:

代码语言:javascript
复制
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 { }
        }

    }
}

效果:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CSharp编程大全 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档