c# - 解码 json 对象以使其值无法正常工作?
问题描述
我遇到了一个问题,我试图解码 json 对象以获取它的值,但由于某种原因它仍然得到我的 json 对象,即{"name": "mike"}
. 我想要实现的只是获得 Mike 的价值。下面的代码是否有解决方法。我正在使用名为 Newtonsoft.Json 的库。感谢您的帮助。 请注意,json 对象来自 QR 码。
这是我的代码:
public void CheckUserInDb()
{
var httpWebRequest = (HttpWebRequest) WebRequest.Create("https://PROJECT_URL.firebaseio.com/QR.json");
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "PUT";
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
string missingObjectCount = statusText.text;
dynamic results = JsonConvert.DeserializeObject <dynamic>(missingObjectCount);
var name = results.ToString();
streamWriter.Write(name);
// Another way I tried.
// var result = JsonConvert.DeserializeObject<dynamic>(statusText.text);
// var gettingTheName = result.name;
// streamWriter.Write(gettingTheName);
}
var httpResponse = (HttpWebResponse) httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
Debug.Log(result);
}
SceneManager.LoadScene("Verify");
}
解决方案
你已经完成了大部分艰苦的工作。result.Name 的类型为Newtonsoft.Json.Linq.JValue。您只需使用JValue.Value属性从中获取值
var result = JsonConvert.DeserializeObject<dynamic>(statusText.text);
var gettingTheName = (string)result.name.Value; // Change here
推荐阅读
- matplotlib - pyplot:带有标签的loglog轮廓固定角度
- postman - API端点通过Postman通过POST方法保存多部分文件
- php - 合并父子数组
- git - 使用 git checkout 别名时没有选项卡完成
- powershell - PowerShell 拆分选择字符串
- python - 用peewee创建一个没有rowid的表
- css - 当在运行时检索到自定义 css 时,我应该如何在反应应用程序中处理 css?
- reactjs - 反应原生显示 x 数组中的行数
- c# - 从代码中检查 datagridview 复选框不会在 UI 上检查它
- python - pandas dataframe:获取给定行的索引