Yaml格式文件解析

2021-10-11  本文已影响0人  赛非斯
import org.yaml.snakeyaml.Yaml;
……
Yaml ya=new Yaml();
HashMap data = (HashMap)ya.load(content);

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);

上一篇 下一篇

猜你喜欢

热点阅读