我正在尝试使用以下代码从字符串中获取特定字段的值。
示例代码:
string contents = "2018-07-31 \"streetAddress1\":{\"1 Harbour Street\"},\"streetAddress2\":{\"2 Lords Road\"}";
string streetAddress1 = ValueFinder(contents, "\"streetAddress1\"", "\"streetAddress2\"");
...
public string ValueFinder(string contents, string startText, string endText)
{
int indexPos1 = contents.IndexOf(startText);
int indexPos2 = contents.IndexOf(endText);
if(indexPos1 != -1 && indexPos2 != -1)
{
string finalValue = contents.Substring(indexPos1 + (startText.Length + 3), indexPos2 - indexPos1 - (startText.Length + 3));
return finalValue.Split(':')[1];
}
return "";
}
在上面的代码中,我能够得到两个字段之间的内容。但是,如果提供字段名称,是否有一种更简单的方法来获取花括号{}之间的值。
例如,如果字段的名称为“ streetAddress1”,则它应将其值输出为“ 1 Harbor Street”,而不是我为指定第一个字段的值而指定了两个字段的当前逻辑。
谢谢。