2013-07-04 80 views
1

這是以下是我的代碼,其中剛剛閱讀JSON數組。這是在java中工作,並顯示h1但相同的代碼如果放在maven那麼它給編譯時錯誤。下面的代碼在eclipse中工作,但是當我轉換成maven項目這段代碼給出錯誤

[ERROR] \WebApp_maven\SimpleCar1\src\main\resources\com\snefotics\servlets\One.java:[39,16] error: constructor JSONArray in class JSONArray cannot be applied to given types

這個代碼我在servlet Get方法中寫道。

String user1 = "{'Main':[{'h1':[ {'userId':'userId123'} ],'body':[{'data': [{'userId':'one'}]}] }]}"; 
    JSONObject jsonObj1 = (JSONObject) JSONSerializer.toJSON(user1); 
    JSONArray main = (jsonObj1.getJSONArray("Main")); 
    JSONArray one=new JSONArray(main.getJSONObject(0).getString("h1")); 
    System.out.println("the h1 value is"+one); 
+1

?如果是的話,你可以告訴我們的代碼? – Satya

+0

你寫過構造 – John

+0

你不能在一個xml文件中有java代碼......或者至少你不應該。 – CorayThan

回答

1

我檢查你的pom.xml和代碼這個問題就來,只有不匹配的版本JSON-LIB-0.9和JSON-LIB-2.4或其它版本庫的,所以你刪除所有存儲庫,並嘗試以下方法還有一件事你必須從apche-tomacat庫中從json-lib中刪除,然後你嘗試下面的代碼並使用json-lib 2.4版本。

String user1 = "{'Main':[{'h1':[ {'userId':'userId123'} ],'body':[{'data': [{'userId':'one'}]}] }]}"; 

    JSONObject jsonObj = (JSONObject) JSONSerializer.toJSON(user1); 
    JSONArray snefoCareEnvelopeMain = (jsonObj.getJSONArray("Main"));     
    //main object 
    JSONObject Main = snefoCareEnvelopeMain.getJSONObject(0); 

    // this for reading h1 data 

    JSONArray headerarray = (Main.getJSONArray("h1")); 
    JSONObject h1=headerarray.getJSONObject(0); 
    System.out.println("the first value is :"+h1.getString("userId")); 


    //for body 
    JSONArray bodyarray=(Main.getJSONArray("body")); 
    JSONObject bodyobject=bodyarray.getJSONObject(0); 
    JSONArray dataArary=bodyobject.getJSONArray("data"); 
    JSONObject data=dataArary.getJSONObject(0); 
    System.out.println("the body is"+data); 

我希望這將解決您的問題

其中pom.xml中
+0

非常感謝你這個代碼工作fine.now。 – user2549122

相關問題