snakeyaml 把所有值按字串型別讀取

2021-10-09 17:30:19 字數 1462 閱讀 8754

**場景一

yaml yaml =

newyaml()

;string yamlstr =

"value:\n"

+" - \n"

;linkedhashmap map = yaml.

loadas

(yamlstr, linkedhashmap.

class);

system.out.

println((

(map)

((list)map.

get(

"value"))

.get(0

)).get

("c"))

;

**場景二(解析時間字串)

yaml yaml =

newyaml()

;string yamlstr =

"value:\n"

+" - \n"

;linkedhashmap map = yaml.

loadas

(yamlstr, linkedhashmap.

class);

system.out.

println((

(map)

((list)map.

get(

"value"))

.get(0

)).get

("c"))

;

**場景一和**場景二其實我們想要的結果都是字串,但是解析出來後,是乙個float型別,並且已經不是我們想要的value了,如**場景一,」86:00.0「 已經讀取為了 「 5160.0」。

這是因為snakeyaml預設了float的定義規則。

解決方法

1.繼承類resolver,注釋掉float和int的定義,注釋掉哪些就看自己的需求了哈,如下**僅僅是參考。

public class myresolver extends resolver 

}

2.初始化yaml例項

yaml yaml = new yaml

( new constructor()

, new representer()

, new dumperoptions()

, new loaderoptions()

,new myresolver()

);

最後當然,如果能和資料提供方溝通好資料格式的話,那樣就沒有這個問題了。比如在要被識別為字串的值統一加乙個單引號。

資料庫中把某一字段的所有行拼串

最近遇到乙個問題,需要把資料表中某一欄位拼串,從網上查了一些資料.發現只有寫標量函式了 1 建表 create table product productid varchar 20 productname varchar 20 go 2 資料 insert into product values w...

mysql按某一欄位分組取最大 小 值所在行的資料

mysql技巧 按某一欄位分組取最大 小 值所在行的資料,這是mysql資料庫 程式設計師經常用到的在處理一些報表資料時候可以活用!那麼獵微網 將總結幾種mysql查詢最大值 mysql查詢最小值的方法!mysql表圖如下 具體php 連線mysql資料庫php 我就不寫 下面看select怎麼查詢...

Mysql 在某一字段的所有的值前面加某字元

vod play url 欄位名 mac vod 表名 update mac vod set vod play url concat 正片 vod play url 補充的 如何將乙個表插入另乙個表 insert into 表a 欄位a,欄位b,欄位c,欄位d,欄位e select 欄位a,欄位b,...