Java解析Yaml介紹

2021-08-02 12:34:52 字數 1727 閱讀 4447

1、首先是解析,**如下:

yaml yaml = new yaml();

//讀入檔案

object result = yaml.load(yamlstring);

system.out.println(result.getclass());

system.out.println(result);

這個yaml有很多的load方法:

普通的load方法是將yaml檔案載入為乙個map物件,你可以通過響應的鍵來取出響應的值,他還有乙個loadas方法能將yaml直接載入為乙個物件。

2、yaml物件 –> yaml文件

yaml物件轉化為yaml文件,在yaml類中也提供了響應的api:

我使用的場景是對於反編譯apk中yaml的解析:

**:

public

class yamlhelper

//初始化yaml解析器

yaml yaml = new yaml();

//讀入檔案

object result = yaml.load(yamlstring);

system.out.println(result.getclass());

system.out.println(result);

if (result instanceof map)

} catch (exception e)

return

null;

}public

void

dumpyaml(map yamlmap, string outpath) catch (exception e)

}//這個方法主要作用是因為檔案中有!!的一行,yaml無法進行解析,所以將其去掉

private string preload(string path) throws ioexception

}string result = stringbuilder.tostring();

system.out.println("yaml 內容-->" + result);

return result;

}public

void

removepackagenode(string path, string nodetag)

/*** 更改版本號、版本名

*/public

void

renameversion(string path, versioninfo versioninfo)

public versioninfo getversion(string path)

public

static

void

main(string args) throws ioexception

}

yaml陣列解析 解析動態Yaml檔案

我有乙個yaml檔案,當前寫為 keys key secret dog values username shiba password inu key secret cat values dbhost localhost words meow 但是,此yaml檔案經常更改,因此每次可以使用不同的值新增...

yaml語法介紹

key 空格 value,表示乙個鍵值對 空格不能省略 以空格的縮進來控制層級關係 有的類似python 只要是左對齊的一列資料,都是同乙個層級的,其中屬性和值也是大小寫敏感 server port 8081 path hello其中port 8081就表示乙個鍵值對,而port path就是同一級...

python解析yaml檔案

yaml是乙個可讀性高,用來表達資料序列的格式。yaml引用了其他多種語言,包括 c語言 python perl,並從xml 電子郵件的資料格式中獲得靈感。目前已經有數種程式語言或指令碼語言支援 或者說解析 這種語言。yaml的語法和其他高階語言類似,並且可以簡單表達清單 雜湊表,標量等資料形態。它...