簡體   English   中英

C ++:在C ++ std :: string中考慮雙引號(“)的字面含義,而不使用反斜杠(\\)

[英]C++: Consider the literal meaning of double quotes(") in a C++ std::string without using backslash (\)

我已經以字符串格式接收了JSON數據。

std::string jsonStr = GetJsonStringBuffer();

//它可能像這樣存儲在jsonStr中:

jsonStr = {” Key1“:” val1“,” key2“:” val2“,” key3“:” val3“} ;

BUt JSON字符串本身中包含雙引號(“)。因此,當GetJsonStringBuffer()返回jsonStr存儲的C ++ std :: string時,不會產生問題,因為可能會考慮json數據的雙引號(”)作為C ++ std :: string的字符串分隔符。

如何處理這種情況。 我是否以編程方式為json字符串中的每個雙引號附加一個“ \\”(反斜杠),我認為這不是一個很好的解決方案。 有更好的C ++解決方案嗎?

帶有"的字符串沒有問題。C++中雙引號的唯一問題是在編譯時雙引號出現在源代碼中的文字中。這就是反斜杠的用途。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM