Azure函数中不带方括号的C#JSON
我正在进行API调用,该调用返回以下内容:Azure函数中不带方括号的C#JSON,c#,azure,C#,Azure,我正在进行API调用,该调用返回以下内容: {“符号”:“NFLX”,“价格”:625} 不包括方括号 以下代码仅在响应包含方括号时有效 [{“符号”:“NFLX”,“价格”:625}] 有什么想法吗?我猜是这样的:foreach(JArray.Parse(apiResponse)中的JToken项) ` `您只需将JArray.Parse替换为JObject.Parse。经过我的测试,它可以为我工作 打印: 是的,JArray.Parse希望JSON是数组类型。您可以用JObject.Par
{“符号”:“NFLX”,“价格”:625}
不包括方括号
以下代码仅在响应包含方括号时有效
[{“符号”:“NFLX”,“价格”:625}]
有什么想法吗?我猜是这样的:foreach(JArray.Parse(apiResponse)中的JToken项)
`
`您只需将
JArray.Parse
替换为JObject.Parse
。经过我的测试,它可以为我工作
打印:
是的,JArray.Parse希望JSON是数组类型。您可以用JObject.Parse替换它,它将与
{“symbol”:“NFLX”,“price”:625}
一起工作,或者您可以使用JToken.Parse,它可以同时解析数组和单个对象。它是以下之一:JObject item=JObject.Parse(apiResponse)
或JToken item=JObject.Parse(apiResponse)代码>谢谢-设置数据行时遇到问题,出现CS0021错误数据行[“symbol”]=(项目[“symbol”].ToString();数据行[“price”]=(项目[“price”]).ToString()
@JesseO尝试使用数据行[item.key]=item.value
要测试。@JesseO我很高兴听到您的问题已经解决。您能接受它作为答案吗?(单击答案旁边的复选标记,将其从灰色切换为填充。):)
if (apiResponse.Trim().Length > 0)
{
try
{
DataTable dataTable = new DataTable("fs_price");
dataTable.Columns.Add(new DataColumn("symbol", typeof(string)));
dataTable.Columns.Add(new DataColumn("price", typeof(string)));
foreach (JToken item in JArray.Parse(apiResponse))
{
DataRow dataRow = dataTable.NewRow();
dataRow["symbol"] = (item["symbol"].ToString() != string.Empty ? item["symbol"] : (object)DBNull.Value);
dataRow["price"] = (item["price"].ToString() != string.Empty ? item["price"] : (object)DBNull.Value);
dataTable.Rows.Add(dataRow);
}
StoreFSData(dataTable);
}
catch (Exception ex)
{
erroredOut = true;
log.LogError($"Faulted with body: {currentSymbol} and exception: {ex}");
}
}