我有一个json字符串,我想对其进行迭代以检索特定值。在此对象中,有多个项目,每个项目具有相同的元素。我想做的是在每个项目中搜索其request_item.u_requested_for.user_name,并将其与另一个值进行比较。如果不匹配,请继续。如果确实匹配,那么我想检索request_item.u_requested_for.sys_id值。此外,json的大小将不会总是相同。有时会有5个元素,而其他时候是20个。我如何遍历每个项目,进行比较,然后检索所需的其他值?
我已经使用我发现的其他想法来解决这个问题,但是我无法真正使其发挥作用。首先,我应该使用JObject.Parse()将字符串解析为一个对象吗?还是应该继续将其作为字符串使用?
我尝试使用JsonTextReader来读取每一行,但是我不确定一旦找到符合条件的项目该如何检索需要的值。
{
"result": [
{
"request_item.sys_id": "db6e3306dbc3ef8c791a777a8c961986",
"request_item.u_requested_for.sys_id": "8416ccb3dba9df8c1ddee3a84b961911",
"request_item.u_requested_for.user_name": "H298956"
},
{
"request_item.sys_id": "e5990f89db47ebc8bd663ebd7c96198f",
"request_item.u_requested_for.sys_id": "878ce1d5dbcd0300cc78dd0b5e961987",
"request_item.u_requested_for.user_name": "E092733"
},
{
"request_item.sys_id": "87970c08db4be388791a777a8c9619ee",
"request_item.u_requested_for.sys_id": "484a1cf5db5f83c04f6489584b961952",
"request_item.u_requested_for.user_name": "H281111"
}
]
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我要遍历每个项目并寻找值“ H281111”。找到该值后,我想提取“ request_item.u_requested_for.sys_id值”,在这种情况下为“ 484a1cf5db5f83c04f6489584b961952”。
我有这个要返回的对象值,我想将其转换为可以检查和操作的有用的JSON对象。最终,我的目标是验证的价值观username和accessKey。但是有2件事情使这件事不起作用。Double {{使它成为无效的JSON,sauce:options并且不能转换为类中的属性。
{{
"browserName": "MicrosoftEdge",
"browserVersion": "latest",
"platformName": "Windows 10",
"sauce:options": {
"username": "test",
"accessKey": "123"
}
}}
Run Code Online (Sandbox Code Playgroud)
这是我尝试过的:
string output = JsonConvert.SerializeObject(SauceSession.Options.ConfiguredEdgeOptions);
Run Code Online (Sandbox Code Playgroud)
这SauceSession.Options.ConfiguredEdgeOptions将返回我上面提到的那个对象。
回过头来: Newtonsoft.Json.JsonSerializationException:“从'OpenQA.Selenium.Edge.EdgeOptions'的'BinaryLocation'获取值时出错。”
我还根据建议尝试了此操作:
var serialized = JsonConvert.SerializeObject(SauceSession.Options.ConfiguredEdgeOptions);
Run Code Online (Sandbox Code Playgroud)
并返回此Newtonsoft.Json.JsonSerializationException:“从'OpenQA.Selenium.Edge.EdgeOptions'上的'BinaryLocation'获取值时出错。”
我无法反序列化以下响应:我的JSON是
json is
{
"disclaimer": "Exchange rates/",
"license": "Data sourced from various providers",
"timestamp": 1435813262,
"base": "USD",
"rates": {
"AED": 3.672973,
"AFN": 60.150001,
"ALL": 126.7792,
"AMD": 472.46,
"ANG": 1.78875,
"AOA": 121.253666,
"ARS": 9.095239,
"AUD": 1.307011,
"AWG": 1.793333,
"AZN": 1.04955,
}
}
Run Code Online (Sandbox Code Playgroud)
控制器是:
[HttpPost]
public ActionResult Index(Test1 values)
{
string appid = values.apikey;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://openexchangerates.org//api/latest.json?app_id=5db2fa81c8174a839756eb4d5a4a5e05");
request.Method = "POST";
using (StreamWriter streamWriter = new StreamWriter(request.GetRequestStream(), ASCIIEncoding.ASCII))
{
streamWriter.Write(appid1);
streamWriter.Close();
}
string responseText = String.Empty;
if (request.Headers.Count > 0)
{
using …Run Code Online (Sandbox Code Playgroud) 我有一个JSON数组字符串。我想反序列化它并想获取 Asp.Net Core 视图页面中的每个元素。我已经用该array split方法尝试过,但它在开始和结束时都以 [] 返回。请帮我解决这个问题。
我的数据是:
[
"a0xctflnmzfkxqibwgli.png",
"hjivmkuk2jafe2cfllpv.jpg",
"i2zcbw0se2btbiq7l4u6.gif",
"a0rzmnbjnbtvmdv1osxo.jpg",
"p5ok5a0ozni7lqlvoov2.gif"
]
Run Code Online (Sandbox Code Playgroud)
所需输出:
a0xctflnmzfkxqibwgli.png
hjivmkuk2jafe2cfllpv.jpg
i2zcbw0se2btbiq7l4u6.gif
p5ok5a0ozni7lqlvoov2.gif
Run Code Online (Sandbox Code Playgroud) 重建我在Windows Visual Studio中构建的android应用程序.需要有关在Visual Studio Visual C#Forms应用程序(.NET Framework)中使用JSON字符串的帮助.
我正在创建一种新的文件格式,以便能够将数据传输到我公司的不同机器人.我为我的Android应用程序使用了一个列表映射,该文件包含一个JSON字符串.是否可以将字符串添加到Visual C#Forms(.NET Framework)上的列表中以便在列表框中查看?提供样品.
[{"VALUE":"03","ATTRIBUTE":"Laayelbxw"},
{"VALUE":"01","ATTRIBUTE":"Leruaret"},
{"VALUE":"08","ATTRIBUTE":"Lscwbryeiyabwaa"},
{"VALUE":"09","ATTRIBUTE":"Leruxyklrwbwaa"}]
Run Code Online (Sandbox Code Playgroud)