5 回答

TA貢獻1827條經驗 獲得超9個贊
您可以執行以下操作之一:
List<RootObject> rootObj = new List<RootObject>();
var newObj=new RootObject()
{
code = "success_04",
msg = "Access granted"
};
rootObj.Add(newObj);
List<RootObject> rootObj1 = new List<RootObject>()
{
new RootObject()
{
code = "success_04",
msg = "Access granted"
}
};
接著
JsonRes.Message = rootObj;

TA貢獻2012條經驗 獲得超12個贊
您正在像處理數組一樣處理列表,這是行不通的,您需要使用該Add方法,例如
rootObj.Add(new RootObj{
code = "success_04",
msg = "Access granted"
});
您還可以使用該AddRange方法添加多個對象,例如
rootObj.AddRange(new List<RootObj>{new RootObj{
code = "success_04",
msg = "Access granted"
}, new RootObj{
code = "success_05",
msg = "Access denied"
}});

TA貢獻1797條經驗 獲得超6個贊
直接訪問您的AuthJsonResponses實例。首先,更新該類以使其Message具有私有設置器并將其實例化為List<RootObject>
public class AuthJsonResponses
{
public int Code { get; set; }
public string Jwt { get; set; }
public List<RootObject> Messages { get; private set; } = new List<RootObject>();
}
public class RootObject
{
public string msg { get; set; }
public string code { get; set; }
}
在您的代碼中,直接將對象添加到Message屬性中。我建議將其重命名為Messages以表明它是一個集合
jsonRes.Messages.Add(new RootObject{msg ="Access granted", code="success_04"});

TA貢獻1841條經驗 獲得超3個贊
您面臨的問題是您在初始化列表之后引用列表的第一個元素!初始化本身只是創建List類的對象,它不創建任何元素!
因此,您必須自己創建RootObject類的對象,然后將其添加到列表中:
// create object
var r = new RootObject();
r.code = "success_04";
r.msg = "Access granted";
// add it to list
rootObj.Add(r);

TA貢獻1776條經驗 獲得超12個贊
當您List實際使用時,您可以使用從類繼承的方法IEnumerable,因為 List 是 IEnumerable 的實現。
你可以這樣做:
List<RootObject> rootObj = new List<RootObject>();
//delete this---- rootObj[0].code = "success_04";
//delete this---- rootObj[0].msg = "Access granted";
//use this
rootObj.Add(new RootObject{
code = "success_04",
msg = "Access Granted"
})
JsonRes.Message = rootObj;
- 5 回答
- 0 關注
- 170 瀏覽
添加回答
舉報