C#随机JSON对象

C#随机JSON对象,c#,C#,我已经创建了一个测试,我想在点击按钮时显示随机json对象值。按钮包含来自json对象的值。如何获取随机json对象 JSON文件: 使用系统; 使用System.Collections.Generic; 使用系统组件模型; 使用系统数据; 使用系统图; 使用System.Linq; 使用系统文本; 使用System.Threading.Tasks; 使用System.Windows.Forms; 使用System.Runtime.Serialization; 使用System.Runtime.

我已经创建了一个测试,我想在点击按钮时显示随机json对象值。按钮包含来自json对象的值。如何获取随机json对象

JSON文件:

使用系统;
使用System.Collections.Generic;
使用系统组件模型;
使用系统数据;
使用系统图;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
使用System.Windows.Forms;
使用System.Runtime.Serialization;
使用System.Runtime.Serialization.Json;
使用System.IO;
名称空间斯拉加利卡
{
公共部分类Asocijacije:MetroFramework.Forms.MetroForm
{
公共图书馆()
{
初始化组件();
}
列出数据;
私有void Asocijacije_加载(对象发送方,事件参数)
{
data=GetJsonFromFile(@“MyData1.json”);
}
私有列表GetJsonFromFile(字符串路径)
{
使用(var stream=newmemorystream(Encoding.UTF8.GetBytes(File.ReadAllText(path)))
{
DataContractJsonSerializer serializer=新的DataContractJsonSerializer(typeof(List));
List data=(List)serializer.ReadObject(stream);
返回数据;
}
}
私有无效按钮\u单击(对象发送者,事件参数e)
{
随机=新随机();
整数计数=0;
int i=0;
MyModel模型=数据[0];
按钮btn=发送方为按钮;
开关(btn.Text.ToString())
{
//A
案例“A”:
列表A=型号A.a5;
计数=A.计数;
i=随机。下一步(0,计数);
btn.Text=A[i];
打破
案例“A1”:
字符串A1=模型A1;
btn.Text=A1;
打破
案例“A2”:
字符串A2=model.A2;
btn.Text=A2;
打破
案例“A3”:
字符串A3=模型A3;
btn.Text=A3;
打破
案例“A4”:
字符串A4=model.A4;
btn.Text=A4;
打破
//B
案例“Б”:
列表B=模型b5;
计数=B.计数;
i=随机。下一步(0,计数);
btn.Text=B[i];
打破
案例“Б1”:
字符串B1=model.B1;
btn.Text=B1;
打破
案例“Б2”:
字符串B2=model.B2;
btn.Text=B2;
打破
案例“Б3”:
字符串B3=model.B3;
btn.Text=B3;
打破
案例“Б4”:
字符串B4=model.B4;
btn.Text=B4;
打破
//C
案例“b”:
列表C=型号c5;
计数=C.计数;
i=随机。下一步(0,计数);
btn.Text=C[i];
打破
案例“B 1”:
字符串C1=model.C1;
btn.Text=C1;
打破
案例“B 2”:
字符串C2=model.C2;
btn.Text=C2;
打破
案例“B 3”:
字符串C3=model.C3;
btn.Text=C3;
打破
案例“B 4”:
字符串C4=model.C4;
btn.Text=C4;
打破
//D
案例“Γ”:
列表D=model.d5;
计数=D.计数;
i=随机。下一步(0,计数);
btn.Text=D[i];
打破
案例“Γ1”:
字符串D1=model.D1;
btn.Text=D1;
打破
案例“Γ2”:
字符串D2=model.D2;
btn.Text=D2;
打破
案例“Γ3”:
字符串D3=model.D3;
btn.Text=D3;
打破
案例“Γ4”:
字符串D4=model.D4;
btn.Text=D4;
打破
//???
案例“?”:
列表RR=model.RR;
count=RR.count;
i=随机。下一步(0,计数);
btn.Text=RR[i];
打破
}
}
私有无效按钮22_单击(对象发送者,事件参数e)
{
}
}
}
类别MyModel:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System.Runtime.Serialization;

namespace Slagalica
{
    [DataContract]
    class MyModel
    {
        [DataMember]
        public string a1 { get; set; }
        [DataMember]
        public string a2 { get; set; }
        [DataMember]
        public string a3 { get; set; }
        [DataMember]
        public string a4 { get; set; }
        [DataMember]
        public List<string> a5 { get; set; }
        [DataMember]
        public string b1 { get; set; }
        [DataMember]
        public string b2 { get; set; }
        [DataMember]
        public string b3 { get; set; }
        [DataMember]
        public string b4 { get; set; }
        [DataMember]
        public List<string> b5 { get; set; }
        [DataMember]
        public string c1 { get; set; }
        [DataMember]
        public string c2 { get; set; }
        [DataMember]
        public string c3 { get; set; }
        [DataMember]
        public string c4 { get; set; }
        [DataMember]
        public List<string> c5 { get; set; }
        [DataMember]
        public string d1 { get; set; }
        [DataMember]
        public string d2 { get; set; }
        [DataMember]
        public string d3 { get; set; }
        [DataMember]
        public string d4 { get; set; }
        [DataMember]
        public List<string> d5 { get; set; }
        [DataMember]
        public List<string> rr { get; set; }
    }
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
使用System.Runtime.Serialization;
名称空间斯拉加利卡
{
[数据合同]
类MyModel
{
[数据成员]
公共字符串a1{get;set;}
[数据成员]
公共字符串a2{get;set;}
[数据成员]
公共字符串a3{get;set;}
[数据成员]
公共字符串a4{get;set;}
[数据成员]
公共列表a5{get;set;}
[数据成员]
公共字符串b1{get;set;}
[数据成员]
公共字符串b2{get;set;}
[数据成员]
公共字符串b3{get;set;}
[数据成员]
公共字符串b4{get;set;}
[数据成员]
公共列表b5{get;set;}
[数据成员]
公共字符串c1{get;set;}
[数据成员]
公共字符串c2{get;set;}
[数据成员]
公共字符串c3{get;set;}
[DataMemb
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System.Runtime.Serialization;

namespace Slagalica
{
    [DataContract]
    class MyModel
    {
        [DataMember]
        public string a1 { get; set; }
        [DataMember]
        public string a2 { get; set; }
        [DataMember]
        public string a3 { get; set; }
        [DataMember]
        public string a4 { get; set; }
        [DataMember]
        public List<string> a5 { get; set; }
        [DataMember]
        public string b1 { get; set; }
        [DataMember]
        public string b2 { get; set; }
        [DataMember]
        public string b3 { get; set; }
        [DataMember]
        public string b4 { get; set; }
        [DataMember]
        public List<string> b5 { get; set; }
        [DataMember]
        public string c1 { get; set; }
        [DataMember]
        public string c2 { get; set; }
        [DataMember]
        public string c3 { get; set; }
        [DataMember]
        public string c4 { get; set; }
        [DataMember]
        public List<string> c5 { get; set; }
        [DataMember]
        public string d1 { get; set; }
        [DataMember]
        public string d2 { get; set; }
        [DataMember]
        public string d3 { get; set; }
        [DataMember]
        public string d4 { get; set; }
        [DataMember]
        public List<string> d5 { get; set; }
        [DataMember]
        public List<string> rr { get; set; }
    }
}