亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從 C# 中的 JSON 對象獲取值?

如何從 C# 中的 JSON 對象獲取值?

C#
慕少森 2023-09-24 16:31:37
我嘗試從 Google API 發出的請求的 JSON 對象中獲取值。我的目標是從成績單中獲取數據。這是 JSON 文件。{  "results": [    {      "alternatives": [        {          "transcript": "how old are you",          "confidence": 0.66882694        }      ]    }  ]}我嘗試使用它來獲取輸出。但這不起作用。var result = ["result"][0]["alternative"][0]["transcript"].ToString()當我查詢數據時,它不顯示任何內容,只是空字符串。
查看完整描述

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.JsonNUGet Package 并將其導入您的代碼中:

using?Newtonsoft.Json;

現在,只要您將 json 放在變量中,您就可以根據需要反序列化它string。

var?yourObject?=?JsonConvert.DeserializeObject<RootObject>(jsonString);

您可以transcript使用以下方式訪問您的值:

var?transcript?=?yourObject.results[0].alternatives[0].transcript;


查看完整回答
反對 回復 2023-09-24
?
慕尼黑5688855

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"



查看完整回答
反對 回復 2023-09-24
?
慕碼人8056858

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 中的密鑰不匹配


查看完整回答
反對 回復 2023-09-24
?
慕的地10843

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);

.

控制臺您想要顯示哪些數據


查看完整回答
反對 回復 2023-09-24
  • 4 回答
  • 0 關注
  • 287 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號