将 text/plain 多行 key=value http 响应映射到 json 和/或 c# 对象

Map text/plain multiline key=value http response to json and or c# object

我正在访问第 3 方 api 并在正文中收到格式如下的纯文本响应:

item[0].Name = name  
item[0].Type = type  
item[1].Name etc...

是否有一种简单的方法将其映射到一个对象或 JSON 在 c# 中?

我已经尝试处理字符串以将“\n”替换为“,”,将“=”替换为“:”并将其序列化为 JSON 对象,但没有成功。我也尝试过拆分字符串并以这种方式从中创建对象,但我需要从这个 api 中访问很多端点,结果各不相同,这不是一个非常干净的解决方案。

编辑

以字符串形式读取响应内容后,响应的确切格式为 item[0].Name=name\r\nitem[0].Type=type\r\nitem[1].Name=name\r\nitem[1].Type=type

非常感谢任何帮助!

试试这个,它在 Visual Studio

中测试过
static void Main()
{

var t = @"item[0].Name = name0
item[0].Type = type0
item[1].Name = name1
item[1].Type = type1";

    var ta = t.Split("\r\n");

List<NameType>  list = new List<NameType>();
for (var i = 0; i < ta.Length; i += 2)
{
var itemNameArr = ta[i].Split("=");
var itemTypeArr = ta[i + 1].Split("=");

if( itemNameArr[0].Substring(0,itemNameArr[0].IndexOf(".")) 
      != itemTypeArr[0].Substring(0,itemNameArr[0].IndexOf("."))) return //error ; 
        
    var itemName = itemNameArr[1].Replace("\r", string.Empty).Replace("\n", string.Empty);
    var itemType= itemTypeArr[1].Replace("\r", string.Empty).Replace("\n", string.Empty); 
    list.Add(new NameType { Name = itemName, Type = itemType });
}
    var json = JsonSerializer.Serialize(list);
}

public class NameType
{
    public string Name { get; set; }
    public string Type { get; set; }
}

json

[
  {
    "Name": " name0",
    "Type": " type0"
  },
  {
    "Name": " name1",
    "Type": " type1"
  }
]