php小編草莓在這裡跟大家分享一個有關JSON處理的技巧:如何刪除JSON中鍵和值之間不需要的字元?在處理JSON資料時,我們經常需要清理一些無用的字符,以提高資料的可讀性和減少資料傳輸的大小。透過使用PHP的相關函數和正規表示式,我們可以輕鬆地刪除JSON中鍵和值之間不需要的字符,讓資料更加整潔和規範。接下來,我將為大家詳細介紹具體的操作步驟和程式碼實作。
我有這樣的JSON: {"key1": "value1", \n \n "key2": "value2\nwithnewline"}
我想要:
所以我將擁有一個有效的 JSON。
我嘗試過:regex,但未能弄清楚如何在鍵和值之外指定。
還有這個:
package main import ( "bytes" "fmt" ) func main() { jsonStr := `{"key1": "value1", \n \n "key2": "value2\nwithnewline"}` var cleaned bytes.Buffer quoteCount := 0 for i := 0; i < len(jsonStr); i++ { if jsonStr[i] == '"' { quoteCount++ } if quoteCount%2 == 0 && jsonStr[i] != '\n' { cleaned.WriteByte(jsonStr[i]) } else if quoteCount%2 == 1 { cleaned.WriteByte(jsonStr[i]) } } fmt.Println(cleaned.String()) }
Go 遊樂場連結:https://go.dev/play/p/zvNSCuE4SjQ
#這不起作用,因為它可以\n
實際上是\
n
鑑於您問題的參數,您可以使用strings.ReplaceAll
取代所有\n\n:
cleaned := strings.ReplaceAll(input, "\\n \\n ", "")
#如果您想繼續使用目前的策略,則會遇到一些問題。其中之一是,無論您的條件如何,您總是會寫入字串: cleaned.WriteByte(jsonStr[i])
發生在您的 if 和 else 情況下。
以上是如何刪除JSON中鍵和值之間不需要的字元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!