私はjspで作業しています。 私のJSPはjspは、同じコードでさまざまな方法でjavaマップを出力します。
<%@page import="net.ion.ice.sp.shard.session.SessionManager"%>
<%@page import="net.ion.ice.sp.common.bean.user.Customer"%>
<%@ page language="java" contentType="application/json; charset=UTF-8" pageEncoding="UTF-8"%>
<%
Customer customer = SessionManager.getSessionUser(request.getParameter("session_id")) ;
out.println(customer.getSessionDataMap()) ;
%>
非常に簡単...のように見えます。このコードは、Java Map<String, Object>
オブジェクトを出力することになっています。 通常はうまく動作しますが、時にはJSON
ウェイ(コロンを接続することを意味します)をプリントします。
私が期待した結果が
{default={CREATED={date=21, day=1, hours=11, minutes=10, month=2, nanos=0, seconds=13, time=1458526213000, timezoneOffset=-540, year=116}}}
ですそして、時にはそれはあなたが:
と接続され、いくつかの文字列を見ることができるように
{default={CREATED={"date":21,"day":1,"hours":11,"minutes":10,"month":2,"nanos":0,"seconds":13,"time":1458526213000,"timezoneOffset":-540,"year":116}}}
を返しますが、それは=
に接続する他のケース。
私は何が違うのか分かりません。おかげさまで 以下のマップについては
out.println(Arrays.toString(customer.getSessionDataMap().entrySet().toArray()));
:
これは暗黙的にmap.toString()メソッドを呼び出します。出力が異なる場合は、異なるクラスを使用していることを意味します(別のtoString実装を使用)。 – degr
この質問は時代遅れであり、そのコードに何が間違っていたかを証明する方法はありません。だから私はそれを閉じることが良いと思います –