4 回答

TA貢獻1836條經驗 獲得超3個贊
將 JSON 轉換為類
Json2CSharp
你得到:
public class Alternative
{
? ? public string transcript { get; set; }
? ? public double confidence { get; set; }
}
public class Result
{
? ? public List<Alternative> alternatives { get; set; }
}
public class RootObject
{
? ? public List<Result> results { get; set; }
}
將其存儲在代碼中的某個位置。
使用Newtonsoft.Json包
在您的解決方案中安裝Newtonsoft.Json
NUGet Package 并將其導入您的代碼中:
using?Newtonsoft.Json;
現在,只要您將 json 放在變量中,您就可以根據需要反序列化它string
。
var?yourObject?=?JsonConvert.DeserializeObject<RootObject>(jsonString);
您可以transcript
使用以下方式訪問您的值:
var?transcript?=?yourObject.results[0].alternatives[0].transcript;

TA貢獻1848條經驗 獲得超2個贊
解決方案(不使用 NewtonSoft.Json 等外部庫):
添加引用System.Web.Extensions。
使用程序集System.Web.Script.Serialization;
代碼:
var jsonString = "{\"results\": [ {\"alternatives\": [ {\"transcript\": \"how old are you\", \"confidence\": 0.66882694 } ] } ]}";
var jsonDeserialized = serializer.Deserialize<dynamic> (jsonString);
Console.WriteLine (jsonDeserialized["results"][0]["alternatives"][0]["transcript"]); // Prints "how old are you"

TA貢獻1803條經驗 獲得超6個贊
通常,如果我知道 JSON 的結構是什么樣的,我會使用類來解析它。
但您隨時可以將字符串解析為 JSON 對象。
using Newtonsoft.Json.Linq;
var json=JObject.Parse(YOUR_JSON_STRING)
var result = json["results"][0]["alternative"][0]["transcript"].ToString()
https://dotnetfiddle.net/KSDcIP
此外,您請求的密鑰與 JSON 中的密鑰不匹配

TA貢獻1785條經驗 獲得超8個贊
您的字符串是 JSON 格式,因此您需要將其解析為對象。為此,您可以使用 JSON.NET。
以下是如何將 JSON 字符串解析為動態對象的示例:
string source = "{\r\n \"id\": \"100000280905615\", \r\n \"name\": \"Jerard Jones\", \r\n \"first_name\": \"Jerard\", \r\n \"last_name\": \"Jones\", \r\n \"link\": \"https://www.facebook.com/Jerard.Jones\", \r\n \"username\": \"Jerard.Jones\", \r\n \"gender\": \"female\", \r\n \"locale\": \"en_US\"\r\n}";
dynamic data = JObject.Parse(source);
Console.WriteLine(data.id);
.
控制臺您想要顯示哪些數據
- 4 回答
- 0 關注
- 287 瀏覽
添加回答
舉報