我正嘗試重新創建JSON:錯誤創建一個J Object中包括數組時
{
"auth": {
"identity": {
"methods": [
"password"
],
"password": {
"user": {
"id": "90551bd1bcf6474dba09c96617a33638",
"password": "hoeIX1.i-.M]wiu9"
}
}
},
"scope": {
"project": {
"id": "2440e4fa1725452cb2e14506cb5d63ec"
}
}
}
}
眼下I'm這樣做:
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))))))))));
我得到這個錯誤:
"Can not add Newtonsoft.Json.Linq.JProperty to Newtonsoft.Json.Linq.JArray."
不工作的線路是:
new JProperty("method",JArray.Parse("[\"password\"]"))
如果我刪除了JArray部分它工作正常,我怎麼能修復它,以便它與數組部分? 我發現的大多數例子都是一個JObjects數組,它不是這種情況。 謝謝!
在這裏,您將極大地從使用一類具有你所需要的性能中受益,並序列化的情況下,類返回json。儘管您可以按照自己的方式進行操作,但它不可讀,並且在發生錯誤時更難調試。除此之外,您可以使用新的JProperty(「method」,新的JArray(new {「password」}))。 –
我甚至沒有想過,我會試一試 – moondaisy