- yaml文件格式解析直接解析比较费劲
一般就是这样:
import org.yaml.snakeyaml.Yaml;
……
Yaml ya=new Yaml();
HashMap data = (HashMap)ya.load(content);
- 第二种方式就是转换成json ,利用json的优势直接转换成对应的类
1、依赖如下,转换我们用alibb的fastjson
Object result = yaml.load(fileInputStream);
JSONObject result0 = JSON.parseObject(JSON.toJSONString(result));
mYamlConfiguration = getJsonTClassFromJsonString(result0.toString(),YamlConfiguration.class);
dependencies {
implementation 'androidx.appcompat:appcompat:1.3.1'
implementation 'com.google.android.material:material:1.4.0'
implementation 'com.google.code.gson:gson:2.8.8'
implementation 'org.projectlombok:lombok:1.18.22'
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
implementation group: 'org.yaml', name: 'snakeyaml', version: '1.25'
implementation 'com.alibaba:fastjson:1.2.76'
}
2、在线将yaml转成json
https://www.bejson.com/json/json2yaml/
image.png
3、Androidstudio 下载安装GsonFormat插件
创建一个类
image.png
将json粘贴进去
image.png
配置下即可
image.png
然后利用gson 转换
/**
* @param jstring
* T is a class
* @return
*/
public static <T> T getJsonTClassFromJsonString(String jstring, Class<T> t){
Gson mGson = new Gson();
T classT = mGson.fromJson(jstring, t);
return classT;
}
/**
* @return
*/
public <T> String getTJsonStringFromJsonClass(T classT){
Gson mGson = new Gson();
String s = mGson.toJson(classT,classT.getClass());
return s;
}
mYamlConfiguration = getJsonTClassFromJsonString(result0.toString(),YamlConfiguration.class);










网友评论