Ich bin enthält versucht, diese json neu zu erstellen:Fehler, wenn ein JObject schaffen, die ein Array
{
"auth": {
"identity": {
"methods": [
"password"
],
"password": {
"user": {
"id": "90551bd1bcf6474dba09c96617a33638",
"password": "hoeIX1.i-.M]wiu9"
}
}
},
"scope": {
"project": {
"id": "2440e4fa1725452cb2e14506cb5d63ec"
}
}
}
}
Im Moment bin ich dies zu tun:
JObject auth = new JObject(
new JProperty("auth", new JObject(
new JProperty("identity", new JObject(
new JProperty("method",JArray.Parse("[\"password\"]")),
new JProperty("password", new JObject(
new JProperty("user", new JObject(
new JProperty("id", JValue.CreateString(identityWithProject.Username)),
new JProperty("password", JValue.CreateString(identityWithProject.ProjectName))))))),
new JProperty("scope", new JObject(
new JProperty("project", new JObject(
new JProperty("id", JValue.CreateString(identityWithProject.ProjectName))))))))));
ich diesen Fehler:
"Can not add Newtonsoft.Json.Linq.JProperty to Newtonsoft.Json.Linq.JArray."
Die Linie, die nicht funktioniert ist:
new JProperty("method",JArray.Parse("[\"password\"]"))
Wenn ich den JArray Teil entferne funktioniert es gut, wie könnte ich es reparieren, so dass es mit dem Array Teil funktioniert? Die meisten Beispiele, die ich gefunden habe, sind ein Array von JObjects, was nicht der Fall ist. Danke!
Dies ist ein Fall, in dem Sie stark von der Verwendung einer Klasse mit den Eigenschaften profitieren würden Sie die Notwendigkeit und Serialisierung Klasse, um den JSON zurückzugeben. Obwohl Sie es so machen können wie Sie sind, ist es nicht lesbar und wird im Falle von Fehlern viel schwieriger zu debuggen sein. Abgesehen davon können Sie neue JProperty verwenden ("Methode", neues JArray (neues {"Passwort"})). –
Ich habe nicht einmal darüber nachgedacht, ich werde es versuchen – moondaisy