使用csv文件時報錯:ERROR o.a.j.c.CSVDataSet: java.io.IOException: Cannot have quote-char in plain field:[{"]
用例寫在csv中,而請求data是json格式,設置讀取時一般會選擇“是否允許帶引號”,如圖:
設置False也不行,因為json里面不可能沒有引號。當這里選擇True后,允許就會報錯,提示“在{沒有引號”
套用網上其他人的話:
為什么沒有引號呢?本來CSV格式是分隔的數據格式,有段/列分隔的逗號符號和記錄/行分隔換行符,可能是不是直接在csv中填寫內容,而是通過修改其他文件的后綴或者其他方式轉換過來的csv格式文件。那好,我們在 { 處加上分號。
再次執行的時候,依然還是會提示錯誤ERROR o.a.j.c.CSVDataSet: java.io.IOException: Cannot have single quote-char in quoted field:[{"],這又是為什么呢?因為在csv格式的文件中,字段包含特殊符號(逗號,換行符,雙引號),必須以雙引號括起來,行內包含一個項目是空字符串,可以以雙引號括起來。字段的值包含雙引號時,要雙寫這個雙引號。所以,要把Json字符串中字段用雙引號括起來。
解決:
用notepad++打開csv文件
加上引號
在用csv打開
沒有變化,加的引號並不是真的字符,僅僅只是起到一個修飾的作用而已。
但是沒有報錯了
就是要一條條修改比較麻煩,有大神知道的請賜教一下
注:
不要用wps打開保存,否則之前就白修改了
用微軟的打開csv文件
試了一下最簡便的方法:
用excel打開保存一下格式就可以了