c++ & java解析JSON格式数组

c++ & java解析JSON格式数组

c++解析JSON格式数组

参考文章:http://blog.hehehehehe.cn/a/17907.htm,http://blog.csdn.net/u010319687/article/details/39345053,http://rapidjson.org/zh-cn/md_doc_features_8zh-cn.html。
rapidjson的具体使用步骤:

  • 下载rapidjson放到c++项目的include目录中,下载地址:http://download.csdn.net/detail/zerolxl/4828301 。
  • 引入头文件,直接在程序中应用:
    ...
    char js[200] = "[{\"hello\" : \"1\", \"hello2\" : 2, \"hello3\" : \"world3\"},{\"hello\" : \"11\", \"hello2\" : 22, \"hello3\" : \"world33\"},{\"hello\" : \"111\", \"hello2\" : 222, \"hello3\" : \"world333\"}]";
 rapidjson::Document doc;
 doc.ParsekParseDefaultFlags>(js); 
    //判断读取成功与否和是否为数组类型  
    if (doc.HasParseError() || !doc.IsArray())  
    {  
        cout<<"get json data err!"<; 
        return false; 
    }  
    for(unsigned int i=0;i
    {  
        //逐个提取数组元素(声明的变量必须为引用)  
 rapidjson::Value &v=doc[i]; 

        string hello;
        int hello2;
        string hello3;
        //判断各属性是否存在(可以支持中文(UTF8格式))  
        if(v.HasMember("hello") && v.HasMember("hello2") && v.HasMember("hello3"))  
        {  
            //按属性提取数据  
            hello=v["hello"].GetString(); 
            hello2=v["hello2"].GetInt(); 
            hello3=v["hello3"].GetString(); 
            cout<", hello2="<", hello3="<; 
        }  
    }  
    -

java解析JSON格式数组

参考文章:http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/24/3096437.html,http://www.open-open.com/lib/view/open1401934522556.html。
org.json具体使用步骤:

  • 在工程中引入外部jar包:json.org.jar,在http://download.csdn.net/detail/lanxuezaipiao/5440983上下载。
  • 参考:http://blog.sina.com.cn/s/blog_6400e5c50101ak5j.html,在程序中应用。

ps:c++用tinyXML解析XML配置文件参考文章:http://wenku.it168.com/d_000964990.shtml,http://blog.chinaunix.net/uid-23381466-id-3360203.html,http://blog.csdn.net/L_Andy/article/details/40615517。
c++ log4cplus开源日志系统参考文章:http://my.oschina.net/lovecxx/blog/185951#OSC_h1_1。

你可能感兴趣的:(工程)