Json基础知识

news/2024/6/29 6:21:48

一、定义

        JSON(JavaScipt Object Notation,JS对象标记语言):轻量级的数据交换格式

        独立于编程语言,简单且层次清晰;一切皆对象,任何类型都可以用JSON表示,包括单不限于字符串、数字、对象

        语法格式:        ①对象表示为键值对        ②数据由逗号分隔(最后一个不加)

                                  ③花括号保存对象            ④方括号保存数组

var obj = {name : "Alice" , Age : "18"}    //Java对象
var json = '{"name" : "Alice" , "Age" : "18"}'    //Json字符串

二、 Java和Json互转

var obj = Json.parse(' {'name' : "Alice" , 'Age' : "18"} ')    //json->java
var json = JSON.stringify( {name : "Alice" , Age : "18"} )    //java->json

三、Json基础类型

{
    "key":"value",    //字符串类型
    "key2":-123.22,   //数字类型(整型/浮点型)
    "key3":{
        "name":"Alice"    //Json对象
        QQ:88888888
    }
    "key4":[1,2,3,4,5]    //数组类型(数字)
    "key5":["a","b"."c","d"]    //数组类型(字符)
    "key6":[{"name":"Jack"},{"Skill":"Speail"},{"CodeName",123}]    //对象组
    "key7":null    空类型
}

四、C#解析Json字符串

        1.利用字典型(Dictionary)序列化

string JsonData = “Json字符串”;
JavaScriptSerializer serializer = new JavaScriptSerializer();
Dictionary<string,object> json = (Dictionary<string, object>)serializer.DeserializeObject(JsonData);
string firstKey = json.ElementAt(0).Key;
string secondKey = json.ElementAt(1).Key;

        2.利用Linq进行解析

                需要添加using Newtonsoft.Json;

string jsonText = @"{""input"" : ""value"", ""output"" : ""result""}";
JsonReader reader = new JsonTextReader(new StringReader(jsonText));
while (reader.Read())
{
Console.WriteLine(reader.TokenType + "\t\t" + reader.ValueType + "\t\t" + reader.Value+"\r\n");
}
Console.ReadKey(); 


http://www.niftyadmin.cn/n/4217512.html

相关文章

需要为您的网站配置CDN的九大理由

所有的网站访问者都期望能够给用户提供快速高效的访问和使用体验&#xff0c;没有延迟或网站性能问题意味着更多的顾客和访问量。然而高流量和覆盖全球的网站意味着网站管理者面临着延迟增加和页面加载时间缓慢的挑战&#xff0c;这可能会导致业务损失。据统计&#xff0c;四分…

JavaScript高级程序设计 学习笔记1 - 什么是JavaScript

内容均摘自JavaScript高级程序设计第四版&#xff0c;仅用于记录学习过程。 第一章 什么是JavaScript一.历史回顾1.1 简短的历史回顾二.JavaScript是什么1.2 JavaScript实现1.2.1 ECMAScript1.2.2 DOM12.3 BOM三.小结一.历史回顾 1.1 简短的历史回顾 随着Web的流行&#xff0…

JavaScript高级程序设计 学习笔记2 - HTML中的JavaScript

内容均摘自JavaScript高级程序设计第四版&#xff0c;仅用于记录学习过程。 第二章 HTML中的JavaScript一. <script>元素2.1 <script>元素2.1.1 标签位置2.1.2 推迟执行脚本2.1.3 异步执行脚本2.1.4 动态加载脚本二.行内代码与外部文件2.2 行内代码与外部文件三.文…

深入了解Linux的守护进程(daemons)

Linux服务器在启动时需要启动很多系统服务&#xff0c;它们向本地和网络用户提供了Linux的系统功能接口&#xff0c;直接面向应用程序和用户。提供这些服务的程序是由运行在后台的守护进程&#xff08;daemons&#xff09;来执行的。守护进程是生存期长的一种进程。它们独立于控…

ACM算法笔记(一)基本概念递归思想常见递归问题

一、基本概念和术语 1、算法复杂度 复杂度分析&#xff1a; 事后统计法 大0表示法&#xff1a;T(n)O(f(n)) 2、时间复杂度分析 只关注循环次数最多的一段代码 总复杂度等于最高阶的复杂度 嵌套代码的复杂度等于嵌套内外代码复杂度的乘积 推导大O阶 1.用常数…

GRUB 引导程序配置大全

引自&#xff1a;http://blog.chinaunix.net/u/30557/showart_312917.html 1. GRUB 介绍计算机在启动的时候&#xff0c;首先由BIOS中的程序执行自检&#xff0c;自检通过后&#xff0c;就根据CMOS的配置找到第一个可启动磁盘的MBR中的Boot Loader程序&#xff08;一般在启动盘…

ACM算法笔记(二)斐波那契数列数组类型

一、斐波那契数列 定义 与爬楼梯问题的区别是&#xff1a;终止条件不同 代码参考爬楼梯问题 二、数组类型 1.两数之和 给定一个整数数组nums和一个整数目标值target&#xff0c;请你在该数组中找到目标值target的那两个整数&#xff0c;并返回他们的数组下标 例如&#xff1…

ACM算法笔记(三)链表算法

一、合并两个有序链表 将两个升序链表合并为一个升序链表后返回&#xff0c;新链表是通过拼接两个链表的节点组成的 思路&#xff1a;分别比较两个链表头部的节点&#xff0c;将较小节点的连接到新链表后 public ListNode mergeTwoList(ListNode l1,ListNode l2) {if(l1 null…