25
我有一個縮進的JSON字符串,例如在.NET中縮小縮進的JSON字符串
{
"a": 1
}
不過,我沒有實例的類型被序列化或反序列化。
在我的情況,有什麼最有效的方式到縮小 JSON字符串?例如
{"a":1}
我不介意使用庫,如果他們是生產就緒。
我有一個縮進的JSON字符串,例如在.NET中縮小縮進的JSON字符串
{
"a": 1
}
不過,我沒有實例的類型被序列化或反序列化。
在我的情況,有什麼最有效的方式到縮小 JSON字符串?例如
{"a":1}
我不介意使用庫,如果他們是生產就緒。
Regex.Replace(myJSON, "(\"(?:[^\"\\\\]|\\\\.)*\")|\\s+", "$1")
應該這樣做。它確保保留包含空格字符的字符串,並放棄所有其他空格字符。所有JSON關鍵字(false
,true
,null
)必須用逗號或其他標點符號分隔,以便只保留字符串內部的空格。
第一個選項(\"(?:[^\"\\\\]|\\\\.)*\")
一個雙引號的字符串匹配。 (...)
表示輸出被捕獲並在替換中可用,如$1
。 [^\"\\\\]
匹配除雙引號或轉義字符\
以外的任何字符。
由於匹配是從左到右發生的,因此第二個選項\s+
將不匹配字符串中的空格。
所以我們匹配整個字符串和字符串之外的空格。在前一種情況下,$1
是字符串標記,在後一種情況下,$1
是空字符串,因爲未使用組1。
這按預期工作,因爲
var x=0
與varx=0
不同,x - -(y)
與x--(y)
不同。