小技术>Json(数据交换格式)的使用,简介,示例

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式,可以帮助我们进行序列化和反序列化。
jsoncpp 中有一个核心类两个重要方法

==Json::Value ==表示一个JSON对象(是一个键值对的结构,和std::map很相似,可以对象[key]查找值,如果key不存在就新增,key存在就查找)。

方法

Writer::write:把Json对象序列化成字符串(类似std::string)
Reader::parse:把字符串反序列化为Json对象

示例

	#include<cstdio>
	#include<cstdlib>
	#include<jsoncpp/json/json.h>
	
	int main(){
		
	///Json转字符串	/
		Json::Value value;
		value["dish_id"] = 1;
		value["name"] = "红烧肉";	//赋值是什么类型都行
		value["price"] = 2000;
		
		//想要将其打印出来我们需要创建一个Writer对象,Writer类只是一个基类,我们用的时候经常用到的是一些他的子类如FastWriter
		Json::FastWriter writer;
		const std::string& str = writer.write(value);//返回值是json格式的字符串,我们用string接收
		printf("%s\n",str.c_str());		//printf("%s\n",str);不能这样写,要将str转为c风格字符串
		
	/字符串转Json///
		std::string str2 = R"({"name":"红烧肉","price":100})";
		Json::Reader reader;
		Json::Value output;
		reader.parse(str2,output);
		print("%s,%d\n",outputt["name"].asCString(),output["price"].asTnt());
		
		return 0}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值