Я ищу возможность выдать прочитанный файл JSON в текстовом поле или в представлении списка. - PullRequest
0 голосов
/ 13 февраля 2019

Это мой код, который я использую, чтобы прочитать файл JSON и попытаться поместить прочитанный файл в Textbox или ListView.Например: я хочу видеть файл JSON в виде строки в текстовом поле или в виде списка.Кто-нибудь может удержать меня от этой проблемы?Я думаю, что это как-то связано с сериализацией или десериализацией

using Microsoft.Win32;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Newtonsoft.Json;
using System.IO;

namespace TRG_2
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            // pick the current User and show it in the Textbox
            string username =     System.Security.Principal.WindowsIdentity.GetCurrent().Name;
            TxtUser.Text = username;
        }

        private void BtnBrowse_Click(object sender, RoutedEventArgs e)
        {
            //Browse the Filesystem and open the selected File in the Textbox
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.DefaultExt = ".json";

            if (ofd.ShowDialog() == true)
            {
                String Filename = ofd.FileName;
                TxtFile.Text = Filename;


                StreamReader Test = new StreamReader(Filename);
                JsonReader reader = new JsonTextReader(Test);


                int counterRead = 0;
                while (reader.Read())
                {
                    counterRead++;
                    string JSONObject = Filename;
                    var TestResult1 = JsonConvert.DeserializeObject<List<Testdefinition>>(JSONObject);


            }

        }
    }
}

}

Это мой пример JSON.

{
    "TestID":"1",
    "TestVersion":"1.0",
    "TestGroup":"Group1",
    "TestName":"Sample-Test",
    "TestDescription":
        "1.Appl.starten(Applikation ist gestartet) 2.Datei laden(Datei     ist geladen und wird angezeigt) 3.Datei ändern 4.Datei speichern"
}

Класс здесь:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TRG_2
{
    public class Testdefinition
    { 
        public int TestID { get; set; }
        public double TestVersion { get; set; }
        public string TestGroup { get; set; }
        public string TestName { get; set; }
        public string TestDescription { get; set; }
        public string Result { get; set; }
        public string Comment { get; set; }
    }      
}

1 Ответ

0 голосов
/ 13 февраля 2019

Чтение файла JSON в виде строки

var pathToJson = "Path of Jason | FileName";
var r = new StreamReader(pathToJson);
var myJson = r.ReadToEnd();

После этого с помощью строки вы можете сериализовать объект

var TestResult1 = JsonConvert.DeserializeObject<List<Testdefinition>>(myJson );

С помощью объекта вы можете создать все, что захотите

Или вы можете сделать это напрямую

var TestResult1 = JsonConvert.DeserializeObject<List<Testdefinition>>(File.ReadAllText("Path of Json"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...