C# 如何解析JSON并对其进行迭代?
我如何在以下格式的JSON中迭代C# 如何解析JSON并对其进行迭代?,c#,.net,json,iteration,C#,.net,Json,Iteration,我如何在以下格式的JSON中迭代图像?图像集合的长度可以是任意的。我可以操纵它使其成为一个列表,或者我必须使用什么选项来解析它 images: { 0: { filename: "image1.jpg" }, 1: { filename: "image2.jpg" }, 2: { filename: "image3.jpg" }, } 一种可能的解决方案是创建json的动态表示: dynamic jsonData = JsonConvert.De
图像
?图像
集合的长度可以是任意的。我可以操纵它使其成为一个列表,或者我必须使用什么选项来解析它
images: {
0: {
filename: "image1.jpg"
},
1: {
filename: "image2.jpg"
},
2: {
filename: "image3.jpg"
},
}
一种可能的解决方案是创建json的
动态
表示:
dynamic jsonData = JsonConvert.DeserializeObject(@"{
images: {
0: {
filename: ""image1.jpg""
},
1: {
filename: ""image2.jpg""
},
2: {
filename: ""image3.jpg""
}
}
}");
foreach(var item in jsonData["images"])
{
//Do something
}
一种可能的解决方案是创建json的
动态
表示:
dynamic jsonData = JsonConvert.DeserializeObject(@"{
images: {
0: {
filename: ""image1.jpg""
},
1: {
filename: ""image2.jpg""
},
2: {
filename: ""image3.jpg""
}
}
}");
foreach(var item in jsonData["images"])
{
//Do something
}
如果您阅读过,您会注意到这是一个推荐用于此类情况的库
您可以尝试使用从JSON输入创建对象,但当我刚才尝试时,我无法让它处理JSON字符串中的项目集合。如果您已经阅读了,您会注意到这是一个推荐用于此类情况的库
您可以尝试使用从JSON输入创建对象,但当我刚才尝试时,我无法让它处理JSON字符串中的项目集合。您可以使用普通javascript这样做:
for (objectName in data["images"]) {
html += data["images"][objectName]["filename"] + "<br />"
}
for(数据[“图像”中的objectName){
html+=数据[“图像”][objectName][“文件名”]+“
”
}
下面的完整HTML文件示例
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<div id="result"></div>
<script type="text/javascript">
var data = {
"images": {
"0": {
"filename": "image1.jpg"
},
"1": {
"filename": "image2.jpg"
},
"2": {
"filename": "image3.jpg"
}
}};
var html = '';
for (objectName in data["images"]) {
html += data["images"][objectName]["filename"] + "<br />"
}
document.getElementById("result").innerHTML = html;
</script>
</body>
</html>
风险值数据={
“图像”:{
"0": {
“文件名”:“image1.jpg”
},
"1": {
“文件名”:“image2.jpg”
},
"2": {
“文件名”:“image3.jpg”
}
}};
var html='';
对于(数据[“图像”]中的objectName){
html+=数据[“图像”][objectName][“文件名”]+“
”
}
document.getElementById(“结果”).innerHTML=html;
您可以使用香草javascript这样做:
for (objectName in data["images"]) {
html += data["images"][objectName]["filename"] + "<br />"
}
for(数据[“图像”中的objectName){
html+=数据[“图像”][objectName][“文件名”]+“
”
}
下面的完整HTML文件示例
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<div id="result"></div>
<script type="text/javascript">
var data = {
"images": {
"0": {
"filename": "image1.jpg"
},
"1": {
"filename": "image2.jpg"
},
"2": {
"filename": "image3.jpg"
}
}};
var html = '';
for (objectName in data["images"]) {
html += data["images"][objectName]["filename"] + "<br />"
}
document.getElementById("result").innerHTML = html;
</script>
</body>
</html>
风险值数据={
“图像”:{
"0": {
“文件名”:“image1.jpg”
},
"1": {
“文件名”:“image2.jpg”
},
"2": {
“文件名”:“image3.jpg”
}
}};
var html='';
对于(数据[“图像”]中的objectName){
html+=数据[“图像”][objectName][“文件名”]+“
”
}
document.getElementById(“结果”).innerHTML=html;
我最终找到了答案——虽然在这种情况下它可能不是最佳实践
var imageHoldingList = new List<VehicleImagesModel>();
var connectionResponse = JsonConvert.DeserializeObject<dynamic>(results);
var jImage = connectionResponse["response"]["vehicles"]["images"].Children();
foreach (var image in jImage)
{
var h = new VehicleImagesModel
{
Filename = image.First.filename.ToString(),
Caption = image.First.caption.ToString()
};
imageHoldingList.Add(h);
var imageHoldingList=new List();
var connectionResponse=JsonConvert.DeserializeObject(结果);
var jImage=connectionResponse[“response”][“vehicles”][“images”]。Children();
foreach(jImage中的var图像)
{
var h=新车辆图像模型
{
Filename=image.First.Filename.ToString(),
Caption=image.First.Caption.ToString()
};
imageHoldingList.Add(h);
}我最终找到了答案——尽管在这种情况下它可能不是最佳实践
var imageHoldingList = new List<VehicleImagesModel>();
var connectionResponse = JsonConvert.DeserializeObject<dynamic>(results);
var jImage = connectionResponse["response"]["vehicles"]["images"].Children();
foreach (var image in jImage)
{
var h = new VehicleImagesModel
{
Filename = image.First.filename.ToString(),
Caption = image.First.caption.ToString()
};
imageHoldingList.Add(h);
var imageHoldingList=new List();
var connectionResponse=JsonConvert.DeserializeObject(结果);
var jImage=connectionResponse[“response”][“vehicles”][“images”]。Children();
foreach(jImage中的var图像)
{
var h=新车辆图像模型
{
Filename=image.First.Filename.ToString(),
Caption=image.First.Caption.ToString()
};
imageHoldingList.Add(h);
}您的json看起来很奇怪。图像不应该是一个数组而不是一个对象吗?是的,返回的数据是真正的wierd,有时它是作为数组返回的,但有时它不是,我正在研究当它不是你的json看起来很奇怪时的逻辑。图像不应该是一个数组而不是一个对象吗?是的,返回的数据确实是wierd,有时它是作为数组返回的,但有时它不是,我正在研究逻辑,因为它不是