次のようなJavaの文字列があります。
String str = "Hello this is #David's first comment #excited"
この文字列を json オブジェクトに変換したいのですが、以下を使用するとエラーがスローされます。
JSONObject json = new JSONObject(str);
「#」記号が原因でエラーがスローされることがわかりました。
手間をかけずに文字列をjsonに変換する他の方法はありますか?
問題は「#」記号ではありません。文字列を既に JSON であるかのように解析しようとしているということです。おそらく次のようなものが必要です。
JSONObject json = new JSONObject();
json.put("firstString", str);
String jsonString = json.toString();
または、もっと簡単に (引用符で囲まれた JSON 文字列だけが必要な場合:
String jsonString = JSONObject.valueToString(str);