CString   strTemp;

//CString ->string;

string      stringMsg = (LPCSTR)(CStringA)strTemp;

//string -> CString

strTemp= stringMsg.c_str();

原本是想接入jsonCPP,不过多线程调试一直不兼容,修改 MDd,MTd还是没有什么用;后来想了想,干脆自己写个;

思路:用字典解决;

void CDlg::SetMap(CMap<CString, LPCTSTR, CString, LPCTSTR> &mapContent,CString msgJson) {
CStringArray strArray;
CString strTemp = msgJson;
string stringMsg = (LPCSTR)(CStringA)strTemp; strTemp.Remove('"');
strTemp.Remove('{');
strTemp.Remove('}');
int strTempLength = strTemp.GetLength(); int index = 0;
while(true){
index = strTemp.Find(',');
if (-1 == index) {
strArray.Add(strTemp);
break;
}
strArray.Add(strTemp.Left(index));
strTemp = strTemp.Right(strTemp.GetLength() - index - 1);
}
int length = strArray.GetSize();
CString strMap;
int subIndex = 0;
CString strKey("");
CString strValue("");
for (int i = 0; i < length; i++) {
strMap = strArray.GetAt(i);
subIndex = strMap.Find(':');
strKey = strMap.Left(subIndex);
strValue = strMap.Right(strMap.GetLength() - subIndex - 1);
mapContent.SetAt(strKey, strValue);
}
}

  

void CDlg::MsgJson(CString msgJson)
{
CMap<CString, LPCTSTR, CString, LPCTSTR> my_Map;
SetMap(my_Map, msgJson);
CString pLook;
my_Map.Lookup(L"type", pLook);
};

这样就可以解析简单的json.如果有多层,那么就首先通过寻找 {},进行数据分割,原理大同小异;

MFC里面解析json文件格式的更多相关文章

  1. UI进阶 解析XML 解析JSON

    1.数据解析 解析的基本概念 所谓“解析”:从事先规定好的格式中提取数据 解析的前提:提前约定好格式,数据提供方按照格式提供数据.数据获取方则按照格式获取数据 iOS开发常见的解析:XML解析.JSO ...

  2. QT5 解析JSON文件

    QT读JSON文件步骤,这里把过程记录一下,网上大多都是怎么写json的,对于读的,记录的不多 首先JSON文件格式必须为UTF-8(非UTF-8 with BOM),UTF-8 with BOM 即 ...

  3. Xamarin.Android下获取与解析JSON

    一.新建项目 1.新建一个Android项目,并命名为为NetJsonList 2.右击引用,选择添加引用,引用System.Json.dll 二.同步请求 既然是跨平台,我们自然不能按照java下的 ...

  4. 使用Newtonsoft.Json.dll(JSON.NET)动态解析JSON、.net 的json的序列化与反序列化(一)

    在开发中,我非常喜欢动态语言和匿名对象带来的方便,JSON.NET具有动态序列化和反序列化任意JSON内容的能力,不必将它映射到具体的强类型对象,它可以处理不确定的类型(集合.字典.动态对象和匿名对象 ...

  5. 阶段一:通过网络请求,获得并解析JSON数据(天气应用)

    “阶段一”是指我第一次系统地学习Android开发.这主要是对我的学习过程作个记录. 在上一篇阶段一:解析JSON中提到,最近在写一个很简单的天气预报应用.即使功能很简单,但我还是想把它做成一个相对完 ...

  6. 阶段一:解析JSON

    “阶段一”是指我第一次系统地学习Android开发.这主要是对我的学习过程作个记录. 最近学到解析JSON格式的网络数据,而作业也要求自己找一个天气预报的API地址,然后解析其中JSON格式的数据.可 ...

  7. C语言创建及解析Json的使用法则

    参考原文:http://blog.csdn.net/xukai871105/article/details/33013455 JSON(JavaScriptObject Notation)是一种轻量级 ...

  8. 不一样的dynamic解析json 万能方法

    写过javascript的人都知道js解析json 1:(JSON) 字符串转换为对象. var str = '{"name":"lsw","hobb ...

  9. C# 解析JSON的几种办法

    欲成为海洋大师,必知晓海中每一滴水的真名. 刚开始只是想找一个转换JSON数组的方法,结果在MSDN翻到一大把. 搜索过程中免不了碰到一大堆名词:WCF => DataContract => ...

随机推荐

  1. Xilinx 7 series FPGA multiboot技术的使用

    Xilinx 7 series FPGA multiboot技术的使用 当升级程序有错误的时候,系统会启动golden bitstream 注意:需要在源工程与升级工程中添加如下约束语句 生成组合mc ...

  2. 一次Windows 安装问题

    在 thinpad x250上安装 windows 10时,提示"安装程序无法创建新的系统分区,也无法定位现有系统分区". x250 的主板上自带一个16G的闪存且标识为 主分区, ...

  3. git 一个分支完全覆盖另一个分支

    1,git push origin develop:master -f就可以把本地的develop分支强制(-f)推送到远程master 2,git checkout master // 切换到旧的分 ...

  4. ubuntu 更换为mac主题

    step1. 安装相关软件包 sudo add-apt-repository ppa:noobslab/themes sudo apt-get update sudo apt-get install ...

  5. Java异常学习总结一

    Java中的异常 定义 异常(Exception)就是在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序. 常见类型举例 所需文件找不到(ClassNotFoundException) 网 ...

  6. 转的,具体 https://www.cnblogs.com/icyJ/p/FreeShare.html

    网络资源下载网址 屏幕录像.图像处理,汉化和破解版本很新.国内破解汉化:大眼仔旭 http://www.dayanzai.me/ 开发工具,系统,数据库 http://msdn.itellyou.cn ...

  7. day37协程与线程套接字通讯

    协程与线程套接字通讯基于多线程实现套接字服务端支持并发,服务端 from socket import * from threading import Thread def comunicate(con ...

  8. linux下自定义dubbo的shell脚本

  9. IntelliJ IDEA 性能优化

    idea打开的多了 内存占用也就多了 下边是亲试的优化ide性能的方法 1.设置JVM的启动参数: 进入idea的安装目录的bin文件夹 打开 idea.exe.vmoptions 文件, 修改-Xm ...

  10. easy ui 关闭选项卡

    var tab = window.parent.getCurrentTab(); var tabs = window.parent.getTabs(); var index = tabs.tabs(& ...