2

私は使っているnet.sf.json.JSONObject

JSONObject obj = new JSONObject();
obj.put("id", "null");
System.out.println(obj.toString());

出力は

{"id":null}

出力で null をリテラルとして引用したい"null"

{"id":"null"}

それを文字列に変換するときにそれをnull, true, falseどのように扱うかはキーワードであるためです。JSONObject私は試し obj.put("id", "\"null\"");ました - それでも同じ結果

nulljson にするよりもリテラルとして出力できる場合、簡単に流れ込むレガシーコードがいくつかありますnull

何か助けはありますか?

4

2 に答える 2

1

これは、使用しているJSONライブラリの実装に関するバグのようです。

簡単な解決策は、実際に機能しているJSONライブラリに切り替えることです。

私はあなたに勧めるこれらの2つのJSONライブラリを使用しています:

  1. json-シンプル
  2. json-smart

これらのライブラリは両方とも、文字列「null」値を使用して実装で必要に応じて機能します。サンプルコードで両方をテストしました。

JSONObject obj = new JSONObject();
obj.put("test", "null");

// Both libraries print out {"test":"null"}
System.out.println(obj.toJSONString());    
于 2012-06-07T17:41:17.387 に答える
-2

JsonWriterクラスメソッドWriteNullを使用します。

参照:http://msdn.microsoft.com/en-us/library/bb299886.aspx

于 2012-06-07T17:41:55.197 に答える