最近做东西需要在jni中解析json,就使用jsoncpp这个库
看网上都要编译,而我又嫌麻烦,看文件挺少的就直接拉到项目中来用了
下载:jsoncpp
把src\lib_json文件夹下除CMakeLists.txt文件都拉到项目的cpp文件夹下
再把include\json文件夹下的文件都拉到项目的cpp文件夹下
然后改项目的CMakeLists.txt文件
add_library( # Sets the name of the library. native-lib # Sets the library as a shared library. SHARED # Provides a relative path to your source file(s). src/main/cpp/native-lib.cpp src/main/cpp/json_cpp/json_tool.h src/main/cpp/json_cpp/json_reader.cpp src/main/cpp/json_cpp/json_valueiterator.inl src/main/cpp/json_cpp/json_value.cpp src/main/cpp/json_cpp/json_writer.cpp src/main/cpp/json_cpp/version.h.in src/main/cpp/json_cpp/assertions.h src/main/cpp/json_cpp/autolink.h src/main/cpp/json_cpp/config.h src/main/cpp/json_cpp/features.h src/main/cpp/json_cpp/forwards.h src/main/cpp/json_cpp/json.h src/main/cpp/json_cpp/reader.h src/main/cpp/json_cpp/value.h src/main/cpp/json_cpp/version.h src/main/cpp/json_cpp/writer.h )
我是放在cpp\json_cpp文件夹下,和自己的东西好区分
现在就可以使用了
//p是json数据 Json::Value root; Json::Reader reader; if(reader.parse(p,root)){ //解析成功 //获取数据 root["key"].asInt(); root["key"][0]["item"].asFloat(); }