gpt4 book ai didi

javascript - C# json解析格式

转载 作者:行者123 更新时间:2023-12-03 07:33:39 25 4
gpt4 key购买 nike

在 C# 中,我尝试解析以下格式的 JSON。我只能使用下面的示例代码来接近,但它非常不稳定。

(我也不知道如何在 Javascript 中解析,我也需要这样做。)

JSON 示例:

{"72": { "Rejected": true }, "271": { "PreApproved": true}}

代码示例:

List<SSKChanges> lstSSK = new List<SSKChanges>();
string sskSource = "";
string sskStatus = "";
bool sskStatusBool = false;
int i = 0;
int iList = 0;
JsonTextReader reader = new JsonTextReader(new StringReader(jsonExample));
while (reader.Read())
{
if (reader.Value != null)
{
if (i == 0)
{
int n;
bool isNumeric = int.TryParse(reader.Value.ToString(), out n);
if (isNumeric)
{
sskSource = reader.Value.ToString();
i = 1;
}
else
{
sskStatus = reader.Value.ToString();
i = 2;
}
}
else if (i == 1)
{
sskStatus = reader.Value.ToString();
i = 2;
}
else
{
sskStatusBool = (bool)reader.Value;
i = 0;
sskSource = "";
sskStatus = "";
sskStatusBool = false;
}
}
}

最佳答案

假设您已经在使用 (正如您使用 JsonTextReader 所建议的那样),您可以将 JSON 加载到 JObject 中然后query生成的对象 LINQ to JSON .

例如,给定类:

public class SSKChanges
{
public string SskSource { get; set; }
public string SskStatus { get; set; }
public bool? SskStatusBool { get; set; }
}

你可以这样做:

        var obj = JObject.Parse(jsonExample);
var lstSSK = (from property in obj.Properties()
select new SSKChanges
{
SskSource = property.Name,
SskStatus = property.Value.Children<JProperty>().Select(p2 => p2.Name).FirstOrDefault(),
SskStatusBool = property.Value.Children<JProperty>().Select(p2 => (bool?)p2.Value).FirstOrDefault()
}).ToList();

至于你问题中的第二个问题,我也不确定如何在javascript中解析,我也需要这样做,你应该专门针对javascript专家提出第二个问题。

关于javascript - C# json解析格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35708503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com