Ich versuche, eine HTTP-Post-Anforderung zum Verbrauch einer WebAPI neu erstellen. Ich habe es ursprünglich in C# erstellt und es zur Arbeit gebracht. Aber das Java-Analog scheint mir ein bisschen zu geben ...Java-Zeichenfolge in JSON-Objekt für HTTP-POST konvertieren
mein Eingabe-String besteht aus Parametern, die vom Webapi erwartet werden.
String input = "{" +
"\"UserID\":xxx," +
"\"UserPsw\":\"yyy," +
"\"ApiFunction\":zzz," +
"\"DppName\":aaaa," +
"\"DppVersion\":Latest, " +
"\"ClearData\"ftfdgfdgfdg fdgfdgfd 4354534," +
"\"ResultType\":JSON \"}";
Jetzt habe ich heruntergeladen JSON-simple JAR-Datei aus: - https://code.google.com/archive/p/json-simple/downloads
und importiert sie in meinen Bibliotheken Ordner für das Java-Projekt.
dann für meine main.java Klasse, importiert ich folgendes: -
import org.json.simple.JSONObject;
Die Absicht ist, mein 'Eingang' String in ein JSON onbject als solche zu konvertieren: -
JSONObject jsonObject = new JSONObject(input);
aber ich erhalte einen Fehler, der sagt: -
cannot find symbol
symbol: constructor JSONObject(java.lang.String)
location: class org.json.simple.JSONObject
was mache ich falsch?
Der Grund, warum ich es in ein JSON-Objekt konvertieren wollen, ist, weil mein WebAPI ein bestimmtes Format für eine Zeichenfolge erwartet ...
{"UserID":xx,"UserPsw":yyy,"ApiFunction":zzz,"DppName":aaaa,"DppVersion":Latest, "ClearData":ftfdgfdgfdg fdgfdgfd 4354534,"ResultType":JSON "}
aber mein Java String-Eingang ist so formatiert, wie: -
{"UserID":"xx","UserPsw":"yyy","ApiFunction":"zzz","DppName":"aaaa","DppVersion":"Latest", "ClearData":"ftfdgfdgfdg fdgfdgf 4354534","ResultType":"JSON"}
Das ist anders als, wie C# sendet es als ein Klassenobjekt mit Anführungszeichen nur um Eigenschaftsnamen und nicht um Werte herum.
'{ "UserID": xx "UserPsw": yyy. ..' ist kein gültiger JSON. –
ist es nicht ... wie ich schon erwähnte ... in C# .. es wird als ein Klassenobjekt gesendet. was es so formatiert. – Philo