0

ここで何かが完全に欠けていますか?入れているものを取り出せないのはなぜですか?

Set<String> stringSet = new LinkedHashSet<String>();
stringSet.add("firstName");
Map<String,Object> payload = new LinkedHashMap<String,Object>();
payload.put("properties", stringSet);

String sPayload = JSONValue.toJSONString(payload);
payload = (Map<String, Object>) JSONValue.parse(sPayload); // <-- payload == NULL
4

1 に答える 1

2

これはjson-simpleバグ (バージョン 1.1 の時点) です。a を JSON 配列に変換する方法がわからないSetため、それを呼び出しtoString()て結果を逐語的に挿入するだけになります。

その結果、JSON は次のようになります。

{"properties":[firstName]}

これによりJSONValue.parse()、引用符で囲まれていないfirstName.

a を使用すると、List適切に動作します。

{"properties":["firstName"]}

この問題について未解決の問題があります: http://code.google.com/p/json-simple/issues/detail?id=23

于 2010-11-03T18:32:40.437 に答える