首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何从.json文件中获取数据,只使用其中的一些项,并用这些数据填充组合框?

如何从.json文件中获取数据,只使用其中的一些项,并用这些数据填充组合框?
EN

Stack Overflow用户
提问于 2016-11-13 03:04:43
回答 2查看 248关注 0票数 0

我要做的是获取我的.json文件,仅从该文件中获取某些项,然后使用过滤后的数据填充组合框中的项(使用Newtonsoft / Json.net)。我给你举个例子:

(部分) JSON文件数据:

代码语言:javascript
运行
AI代码解释
复制
[
  {
    "name": "Kerbol",
    "radius": 261600000,
    "mass": 1.7565670e+28
  },
  {
    "name": "Moho",
    "radius": 250000,
    "mass": 2.5263617e+21
  },
  {
    "name": "Eve",
    "radius": 700000,
    "mass": 1.2244127e+23
  },
]

这并不是所有的数据,只是其中的一部分。这是游戏“克巴尔太空计划”中关于行星的一些信息。(现在)我唯一感兴趣的事情就是抓取.json文件中的每个"name“项。然后,我想用所有这些名称(在每一行上)填充combobox中的items属性。

我已经尝试了很多其他代码来过滤它,但我还不够了解,无法重写它来按我需要的方式工作。

编辑:稍后我想对这些.json数据做更多的工作,但我只是想一步一步地做这件事。

EDIT2:这是针对Windows Forms的。

EN

回答 2

Stack Overflow用户

发布于 2016-11-13 10:59:35

这是一个wpf的演示,我已经在我的电脑上测试过了,你可以试试。

代码语言:javascript
运行
AI代码解释
复制
public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();

        var data = MyModel.getTestData();
        var dataStr = JsonConvert.SerializeObject(data, Formatting.Indented);
        using (var writer = new StreamWriter(@"d:\data.json", false))
        {
            writer.Write(dataStr);
        }
        using (var reader = new StreamReader(@"d:\data.json"))
        {
            var recs = JsonConvert.DeserializeObject<List<MyModel>>(reader.ReadToEnd());
            cbx.ItemsSource = recs;//cbx is ComboBox
            cbx.DisplayMemberPath = "name";
            cbx.SelectedIndex = 0;
        }
    }
}

public class MyModel
{
    public string name { get; set; }
    public double radius { get; set; }
    public double  mass  { get; set; }

    public static List<MyModel> getTestData()
    {
        return new List<MyModel>
        {
            new MyModel {name = "x1", radius = 1, mass = 1},
            new MyModel {name = "x2", radius = 2, mass = 2},
            new MyModel {name = "x3", radius = 3, mass = 3},
            new MyModel {name = "x4", radius = 4, mass = 4},
        };
    }
}
票数 0
EN

Stack Overflow用户

发布于 2016-11-13 16:49:09

我设法找到了一些不和谐的人,我可以和他们交谈,这对我有很大的帮助。几乎我看到的每一段试图查找它的代码对我都没有帮助,因为我对它的理解还不够充分,无法挽救它。所以这是它最终的结果:

celestialbodydata.cs

代码语言:javascript
运行
AI代码解释
复制
using System;

namespace KMAP
{
    class CelestialBodyData
    {
        public string name { get; protected set; }
        public double radius { get; protected set; }
        public double mass { get; protected set; }

        public CelestialBodyData(string name, double radius, double mass)
        {
            this.name = name;
            this.radius = radius;
            this.mass = mass;
        }
    }
}

主Form.cs:

代码语言:javascript
运行
AI代码解释
复制
private void Form1_Load(object sender, EventArgs e)
{
    SemMajAxTab_InputBodyRadius_ComboBox.Items.Clear();
    OPTab_InputBodyMass_ComboBox.Items.Clear();
    OPTab_InputBodyMass2_ComboBox.Items.Clear();
    OPTab_InputBodyRadius_ComboBox.Items.Clear();
    HohTab_InputBodyMass_ComboBox1.Items.Clear();
    HohTab_InputBodyRadius_ComboBox1.Items.Clear();
    HohTab_InputBodyMass_ComboBox2.Items.Clear();
    HohTab_InputBodyRadius_ComboBox4.Items.Clear();

    CelestialBodyData[] celestialbodydata_Array = JsonConvert.DeserializeObject<CelestialBodyData[]>(File.ReadAllText(@"C:\Users\Anase\Desktop\Visual C\KMAP\KMAP\bin\Release\celestialbodydata.json"));

    string[] namesarray = new string[celestialbodydata_Array.Length];

    for (int i = 0; i < celestialbodydata_Array.Length; i++)
    {
        namesarray[i] = (celestialbodydata_Array[i].name).ToString();
    }

    SemMajAxTab_InputBodyRadius_ComboBox.Items.AddRange(namesarray);
    OPTab_InputBodyMass_ComboBox.Items.AddRange(namesarray);
    OPTab_InputBodyMass2_ComboBox.Items.AddRange(namesarray);
    OPTab_InputBodyRadius_ComboBox.Items.AddRange(namesarray);
    HohTab_InputBodyMass_ComboBox1.Items.AddRange(namesarray);
    HohTab_InputBodyRadius_ComboBox1.Items.AddRange(namesarray);
    HohTab_InputBodyMass_ComboBox2.Items.AddRange(namesarray);
    HohTab_InputBodyRadius_ComboBox4.Items.AddRange(namesarray);
}

它比我见过的许多其他东西简单得多。最困难的部分是获取它,这样当您单击组合框中的项目时,它会在数组中搜索该名称,然后获取相邻的质量或半径值,并用该值替换组合框的文本。我不熟悉循环和数组。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40570135

复制
相关文章
如何使用DNS和SQLi从数据库中获取数据样本
泄露数据的方法有许多,但你是否知道可以使用DNS和SQLi从数据库中获取数据样本?本文我将为大家介绍一些利用SQL盲注从DB服务器枚举和泄露数据的技术。
FB客服
2019/03/08
11.8K0
如何使用DNS和SQLi从数据库中获取数据样本
如何从xml文件创建R语言数据框dataframe
从这个XML文件中,我想创建一个具有ID,name 列的R数据框。请注意,name和ID应包含变量的所有级别。
拓端
2020/10/24
3.6K0
如何从xml文件创建R语言数据框dataframe
从这个XML文件中,我想创建一个具有ID,name 列的R数据框。请注意,name和ID应包含变量的所有级别。
拓端
2020/11/03
3.5K0
如何从xml文件创建R语言数据框dataframe
如何从xml文件创建R语言数据框dataframe
从这个XML文件中,我想创建一个具有ID,name 列的R数据框。请注意,name和ID应包含变量的所有级别。
拓端
2020/10/24
3.3K0
Jquery 使用getJSON 获取json数据
1.先引用jq获取下载到本地 CDN地址:https://code.jquery.com/jquery-latest.js
Alone88
2019/10/22
3.6K0
【笔记php】如何使用PHP从JSON提取数据?
2022年8月26日16点36分 如何使用PHP从JSON提取数据? 不多bb,直接上示例 一 $Json = ' { "type": "fish9.cn", "name": "fish9.cn" }'; $fish = Json_decode($Json,true); echo $fish["type"]; //结果fish9.cn 二 $Json = '{ "type":"fish9.cn", "name":"fish9.cn", "daily":[{
吃猫的鱼Code
2023/02/02
5.1K0
python-获取URL中的json数据
数据源为某系统提供的URL,打开是json文件,python代码获取如下: URL替换成自己的即可。 import urllib.request def get_record(url): resp = urllib.request.urlopen(url) ele_json = json.loads(resp.read()) return ele_json if __name__ == '__main__': print(get_record('http://abc.co/
py3study
2020/01/16
5.6K0
[Go 语言社区]服务器读取配置文件只-json数据
package main // 导入需要的库 import ( "encoding/json" "fmt" ) // 结构体定义 type Student struct { Name string Age int Guake bool Classes []string Price float32 } // 显示结构体数据,主要是测试和调试的时候需要 func (s *Student) ShowStu() { fmt.
李海彬
2018/03/20
1.7K0
从损坏的手机中获取数据
有时候,犯罪分子会故意损坏手机来破坏数据。比如粉碎、射击手机或是直接扔进水里,但取证专家仍然可以找到手机里的证据。
FB客服
2020/02/23
10.6K0
JSON数据获取指南!
在互联网时代,数据是金钱的来源。然而,要从海量的网页中提取需要的数据并不容易。本文将带你了解如何使用Node.js编写简易爬虫程序,帮助你轻松获取并处理JSON数据,让你不再为数据发愁。
用户614136809
2023/09/25
4370
jsonp获取json数据
这两天做微信端JS接口,当时遇到的第一个问题就是权限验证的参数请求,当你请求access_token等的时候,就会存在跨域问题:然后在网上查了,采用ajax的jsonp进行跨域请求,后来报错了,返回的结果错误。然后认真看了一下文档,发现ajax的jsonp返回的数据是callback(json),卡到这里。最后同时为了安全的考虑,我就将这一部分的权限验证参数在后端做,然后前端请求,这样就避免了跨域,同时将安全考虑进去了。
Rattenking
2021/01/29
2.5K0
python读取txt文件中的json数据
txt文本文件能存储各式各样数据,结构化的二维表、半结构化的json,非结构化的纯文本。 存储在excel、csv文件中的二维表,都是可以直接存储在txt文件中的。
全栈程序员站长
2022/08/30
7.4K0
python读取txt文件中的json数据
如何从机器学习数据中获取更多收益
对于深度学习而言,合适的数据集以及合适的模型结构显得至关重要。选择错误的数据集或者错误的模型结构可能导致得到一个性能不佳的网络模型,甚至可能得到的是一个不收敛的网络模型。这个问题无法通过分析数据得到很好的解决,只能是通过一次次的制作数据集、搭建模型并进行仿真实验才能发现如何最好地利用数据集以及选取什么样的模型结构。  本文讲解一些有关于数据集的实用知识,通过本文你将了解以下三点:
用户3578099
2019/08/16
8.5K0
treeview 如何从多个数据表中获取数据动态生成 [提问]
在 汪洋怡舟的这篇文章中【http://www.cnblogs.com/longren629/archive/2007/03/14/674633.html】只使用了一个数据表,效果如图2
跟着阿笨一起玩NET
2018/09/19
6.9K0
treeview 如何从多个数据表中获取数据动态生成 [提问]
php – 通过curl从url获取JSON数据「建议收藏」
我试图通过curl连接从URL获取JSON数据.当我打开链接时:它显示{“version”:“N / A”,“success”:true,“status”:true}. 现在,我希望获得以上内容.
全栈程序员站长
2022/07/11
4.1K0
[译] 如何更新 package.json 中的依赖项
原文:https://medium.com/better-programming/how-to-upgrade-dependencies-in-package-json-e5546804187f
江米小枣
2020/06/15
5.3K0
如何使用FME获取数据
通过技术手段,来访问通过ArcGIS Server 发布出来的要素数据,并保存到磁盘。 特点:快、简单! 本次推送,不仅有文字内容,更有配套视频,喜欢看片的,可以直接复制链接去看视频资源:https://www.bilibili.com/video/BV1JV411i77Q/ 不过我觉得,配合推送享用更佳哦!
数据处理与分析
2021/03/16
3.2K0
如何使用FME获取数据
CaseStudy(showcase)数据篇-从XML中获取数据
做silvelight也有一段时间了,相册、游戏,刚刚完成的showcase这个小程序算是一个阶段了。这里就以showcase这个项目来做一下CaseStudy。 数据篇-从XML中获取数据 这个项目
用户1172164
2018/01/16
4.6K0
点击加载更多

相似问题

从数据集的列中获取数据以填充组合框的项

10

用JSON文件中的数据填充组合框

11

从access数据库中的数据填充的WPF组合框中获取选定项

31

从json文件中读取数据并设置为组合框项。

14

如何使用选定的组合框项使用数据填充文本框

40
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档