在Json中查找字符串
这是我想做的 我有一个json字符串,如下所示:在Json中查找字符串,json,vb.net,Json,Vb.net,这是我想做的 我有一个json字符串,如下所示: { "id":1, "description":"my description 1", }, { "id":2, "description":"my description 2", }, ... 我用以下代码反序列化了它的VB.Net,但我可以将它移植到C: Dim result As String = File.ReadAl
{
"id":1,
"description":"my description 1",
},
{
"id":2,
"description":"my description 2",
},
...
我用以下代码反序列化了它的VB.Net,但我可以将它移植到C:
Dim result As String = File.ReadAllText("C:\Users\User\Desktop\Json.txt")
Dim json As Object = New JavaScriptSerializer().Deserialize(Of Object)(result)
现在是我被卡住的部分。
我的程序有一个文本框和一个按钮。
我希望能够在文本框中输入文本id,例如1,当我按下按钮时,它会在Json字符串中搜索id 1并输出其描述
我搜索1,它输出我的描述1
我怎么能这样做呢?不知道你想要什么语言,但这是你需要做的
创建一个表示要反序列化的对象的类。 将字符串反序列化为对象类型的列表。 使用Linq选择适当的描述。 我选择在这里使用Newtonsoft进行反序列化,但您可以选择任何内容
public class MyObject
{
public string Id { get; set; }
public string Description { get; set; }
}
为了实际找到合适的结果
var json = File.ReadAllText("test.json");
var objectList = JsonConvert.DeserializeObject<List<MyObject>>(json);
//Replace the 1 with the textboxSearch.Text accordingly
var foundItem = objectList.Where(_ => _.Id == "1").FirstOrDefault();
if (foundItem != null)
MessageBox.Show(foundItem.Description);
//You can do whatever you want with the object here
创建一个表示此数据的类,从那里开始只会变得更容易。现在它只是一个物体…我该怎么做。有任何引用吗?公共类MyItem公共属性id作为整数公共属性描述作为字符串结束类应该让您开始。这是一个很棒的解决方案。谢谢你,这工作完美无瑕!