c#操作json数据使用newtonsoft.json
2024-08-30 11:42:20
开源项目提供的一个读取示例
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text; namespace Newtonsoft.Json.Tests.Documentation.Samples.Json
{
public class ReadJsonWithJsonTextReader
{
public void Example()
{
#region Usage
string json = @"{
'CPU': 'Intel',
'PSU': '500W',
'Drives': [
'DVD read/writer'
/*(broken)*/,
'500 gigabyte hard drive',
'200 gigabype hard drive'
]
}"; JsonTextReader reader = new JsonTextReader(new StringReader(json));
while (reader.Read())
{
if (reader.Value != null)
Console.WriteLine("Token: {0}, Value: {1}", reader.TokenType, reader.Value);
else
Console.WriteLine("Token: {0}", reader.TokenType);
} // Token: StartObject
// Token: PropertyName, Value: CPU
// Token: String, Value: Intel
// Token: PropertyName, Value: PSU
// Token: String, Value: 500W
// Token: PropertyName, Value: Drives
// Token: StartArray
// Token: String, Value: DVD read/writer
// Token: Comment, Value: (broken)
// Token: String, Value: 500 gigabyte hard drive
// Token: String, Value: 200 gigabype hard drive
// Token: EndArray
// Token: EndObject
#endregion
}
}
}
json 读取
//json读取示例
public void jsonreadsample()
{
string jsonstr = "{\"Name\" : \"Jack\", \"Age\" : 34, \"Colleagues\" : [{\"Name\" : \"Tom\" , \"Age\":44},{\"Name\" : \"Abel\",\"Age\":29}] }";
//将json转换为JObject
JObject jo = JObject.Parse(jsonstr);
JToken ageToken=jo["Name"]; //获取该员工的姓名
Console.WriteLine(ageToken.ToString()); //获取该员工同事所有姓名(读取json数组)
var names=from staff in jo["Colleagues"].Children() select (string)staff["Name"];
foreach (var name in names)
Console.WriteLine(name);
}
url编码
//URL encode
public String UrlEncoded(string str)
{
StringBuilder sb = new StringBuilder();
byte[] byStr = System.Text.Encoding.UTF8.GetBytes(str); //默认是System.Text.Encoding.Default.GetBytes(str)
for (int i = ; i < byStr.Length; i++)
{
sb.Append(@"%" + Convert.ToString(byStr[i], ).ToUpper());
} return (sb.ToString());
}
最新文章
- Dubbo应用与异常记录
- objectARX获取当前图层所有文字样式
- C++中的构造函数,拷贝构造函数和赋值运算
- C++函数重载遇到了函数默认参数情况
- WCF 接收、发送数据的大小及时间的设置
- 用DELPHI的RTTI实现数据集的简单对象化
- 手动安装英特尔&#174; 凌动™ Android* x86 模拟器映像
- LeetCode OJ 33. Search in Rotated Sorted Array
- Centos7 编译安装 Nginx PHP Mariadb Memcache扩展 ZendOpcache扩展 (实测 笔记 Centos 7.0 + Mariadb 10.1.9 + Nginx 1.9.9 + PHP 5.5.30)
- 使用PHP实现RSA算法的加密和解密
- Jmeter如何把响应数据的结果保存到本地的一个文件
- 22.1 、react生命周期(一)
- sql server导出大批量数据
- 自学Zabbix2.4-web页面配置zabbix
- Awesome Torch
- svn conflict问题解决办法
- error LNK2001: 无法解析的外部符号 _H5T_NATIVE_DOUBLE_g
- PDO添加数据的预处理语句
- .Net 初步学习笔记之三---变量
- [翻译] BezierString