想要从JSON中删除列表中的项目

时间:2017-06-28 17:05:15

标签: c# json list linq

我希望能够从列表中传入我要删除的项目的名称。 但是当我调试出来的变量时,它给了我:

Car Name: Happy Car

我需要做些什么来消除额外的字母? 我需要使用`CharToTrim&#39 ;? 感谢您的帮助...

if(File.Exists(Application.persistentDataPath + "/JSON/dbindex.json"))
{
    //Load in JSON file
    string dbindex = File.ReadAllText (Application.persistentDataPath + "/JSON/dbindex.json");
    //Load file in as an array
    DatabaseIndex[] _tempLoadIndexList = JsonHelper.FromJson<DatabaseIndex> (dbindex);
    //Convert to List
    DBIndexList = _tempLoadIndexList.OfType<DatabaseIndex>().ToList();
    for (int i = 0; i < DBIndexList.Count; i++)
    {
        if (DBIndexList[i].DatabaseName == dbname)
            {
                DBIndexList.Remove(DBIndexList[i]);
            }

    }

如果我将for循环中的dbname替换为文本&#34; Happy Car&#34;有用。当我在那里使用我的变量时,它没有。

1 个答案:

答案 0 :(得分:2)

if (DBIndexList[i].DatabaseName == dbname.Replace("Car Name: ", string.Empty))
{
   DBIndexList.Remove(DBIndexList[i]);
}

另一种方式(也不区分大小写)

string dbNameTrimmed = dbname.TrimStart("Car Name: ".ToCharArray());
if(DBIndexList[i].DatabaseName.Equals(dbNameTrimmed, StringComparison.OrdinalIgnoreCase))
{
   DBIndexList.Remove(DBIndexList[i]);
}