[
{
"name": "Test",
"type": "Private",
"item":[{"itmeNo":"PT-15003C","quantity":"3"},
{"itmeNo":"PT-15003C","quantity":"3"}],
"successMsg":"Item(s) added to the job list."
}
]
Hallo eingeben, ich Daten Parametrisierung machte mit json.Above meine JSON-Daten ist, möchte ich diese Daten in einem Formular eingeben, wobei i itemNo und Menge zusammen eingeben müssen . Wie kann dies mithilfe der Datenparametrisierung mithilfe von json geschehen? Wenn es ein Schlüssel-ein-Wert-Paar gibt, dann funktioniert mein Code, aber kann mir in diesem Fall jemand helfen, eine Lösung zu bekommen? Ich habe folgenden Code für einen einzelnen Schlüsselpaarwert geschrieben.mehr Daten zusammen in Form unter Verwendung von JSON-Daten
public static Object[][] getData(String path) {
JSONParser parser = new JSONParser();
JSONArray jArray = null;
Object[][] testData = null;
try {
jArray = (JSONArray) parser.parse(new FileReader(System.getProperty("user.dir") + path));
testData = new Object[jArray.size()][1];
Hashtable<String, String> table = new Hashtable<String, String>();
int i = 0;
for (Object obj : jArray) {
table = new Hashtable<String, String>();
JSONObject objJson = (JSONObject) obj;
Set<?> keys = objJson.keySet();
Iterator a = keys.iterator();
while (a.hasNext()) {
String key = (String) a.next();
String value = (String) objJson.get(key);
// System.out.print("key : "+key);
// System.out.println(" value :"+value);
table.put(key, value);
}
testData[i][0] = table;
i++;
}
return testData;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
Ihre Frage nicht klar ist, was Sie genau Sie es klar machen wollen. – Vickyexpert
@Nikita: Jetzt scheint es so, als ob du im "item" -Array hängen bleibst, wo es wieder mehrere Objekte gibt. Wenn das der Fall ist, dann können Sie getJSONarray verwenden und "item" an es übergeben und das Objekt innerhalb des Arrays wiederholen, nachdem Sie die Anzahl der Array kennen. – Max
Versuchen Sie einen datengetriebenen Test zu erstellen? Wenn dies der Fall ist, können Sie TestNG mit [Daten-Provider-Erweiterung] (https://github.com/cbeust/testng/wiki/3rd-party-extensions#data-provider-extension) verwenden. – user861594