移植jsoncpp到安卓

前端之家收集整理的这篇文章主要介绍了移植jsoncpp到安卓前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1.我使用的方法是静态库的方式,因为动态库的方式一直无法在我的OPPO运行,如果你是使用java来加载的那么推荐你使用动态库运行,我这里为了测试方便,直接在OPPO手机运行C的

这里我基于jsoncpp移植的库,稍后上传,我只是修改了其中的exception,因为ndk并不完全支持C++

链接:https://github.com/2637309949/CODE_NDK_C-_C

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := main

# Add your application source files here...
LOCAL_SRC_FILES := \
	 main.cpp

LOCAL_LDLIBS  := -lGLESv1_CM -lGLESv2 -llog
LOCAL_STATIC_LIBRARIES := libJson

include $(BUILD_EXECUTABLE)

$(call import-module,jsoncpp-0.5.0)


#include <stdio.h>
#include <string>
#include <json/json.h>

using namespace std;

int main(int argc,char **argv) {
    printf("%s\n","start...");

    Json::Value root;
    Json::Value arrayObj;
    Json::Value item;

    for(int i=0;i<5;i++){
        char buffer[20];
        sprintf(buffer,"key%d",i);
        item[buffer] = i;
        arrayObj.append(item);
    }
    root["key1"] = "value1";
    root["key2"] = "value1";
    root["array"] = arrayObj;
    //生成string json
    std::string out = root.toStyledString();
    std::cout << out << std::endl;

    //一些有用的api
    std::cout << root.size() <<std::endl;;
    std::cout << root.removeMember("key2") <<std::endl;;
    std::cout << root.toStyledString() <<std::endl;;

    return 1;
}


猜你在找的Json相关文章