2016-07-29 30 views
0

WebAPIを使用するためのhttp投稿リクエストを再作成しようとしています。私はもともとC#で作成し、動作させました。しかし、Java類似の私のビットを与えるようだ...HTTP文字列のJSONオブジェクトに変換するJava文字列

私の入力文字列は、webapiによって期待されるパラメータで構成されています。

 String input = "{" + 
       "\"UserID\":xxx," + 
       "\"UserPsw\":\"yyy," + 
       "\"ApiFunction\":zzz," + 
       "\"DppName\":aaaa," + 
       "\"DppVersion\":Latest, " + 
       "\"ClearData\"ftfdgfdgfdg fdgfdgfd 4354534," + 
       "\"ResultType\":JSON \"}"; 

は、今私はからJSON-シンプルなjarファイルをダウンロード: - https://code.google.com/archive/p/json-simple/downloads

とJavaプロジェクトのための私のライブラリフォルダにインポートしました。

はその後、私のmain.javaクラスのために、私は次のようにインポート: -

import org.json.simple.JSONObject; 

意図は、次のようなonbject JSONに私の '入力' の文字列を変換することです: -

JSONObject jsonObject = new JSONObject(input); 

-

cannot find symbol 
    symbol: constructor JSONObject(java.lang.String) 
    location: class org.json.simple.JSONObject 

何が間違っているのですか?

私WEBAPIは、文字列の特定の形式を想定しているため、私はJSONオブジェクトに変換したい理由は、ある...

{"UserID":xx,"UserPsw":yyy,"ApiFunction":zzz,"DppName":aaaa,"DppVersion":Latest, "ClearData":ftfdgfdgfdg fdgfdgfd 4354534,"ResultType":JSON "} 

私のJava文字列の入力は次のようにフォーマットされしかし: -

{"UserID":"xx","UserPsw":"yyy","ApiFunction":"zzz","DppName":"aaaa","DppVersion":"Latest", "ClearData":"ftfdgfdgfdg fdgfdgf 4354534","ResultType":"JSON"} 

これは、C#が値の周りではなくプロパティ名の前後に引用符を付けてクラスオブジェクトとして送る方法とは異なります。

+1

を '{ "ユーザーID":xxは、 "UserPsw":YYY。 .. .. 'は有効なJSONではありません。 –

+0

私が言及したように... C#ではクラスオブジェクトとして送信します。そのようにフォーマットします。 – Philo

答えて

0

ドキュメント

http://juliusdavies.ca/json-simple-1.1.1-javadocs/org/json/simple/JSONObject.html

によれば、パラメータとしてStringを受け入れるコンストラクタが存在しません。 Mapに変換すると、エラーが発生しにくく、明確になります。

HashMap<String,String> newMap = new HashMap<>(); 
newMap.put("UserID","xxx"); 
//... the rest of your attributes 
JSONObject jsonObject = new JSONObject(newMap); 

あなたにも、JSONParserを使用することができます 'Mappan' で提案されているよう:から撮影

try { 
    JSONParser parser = new JSONParser(); 
    JSONObject json = (JSONObject) parser.parse(stringToParse); 
} catch (org.json.simple.parser.ParseException e) { 
    e.printStackTrace(); 
} 

How to convert String to JSONObject in Java

+0

私はこのようなことをしたいと思います。http://stackoverflow.com/questions/5245840/how-to-convert-string-to-jsonobject-in-java – Philo

+0

はい、Mappanの答えもうまくいくはずです。 – Matt

+0

は、Mappanが指摘しているように私の文字列をフォーマットすることはできません。それを試しました..また、チャウの答えを見て – Philo

関連する問題