Архитектура пакетной обработки данных. Формат обмена данными JSON
Автор: jyliu_danshina • Апрель 24, 2019 • Лабораторная работа • 1,608 Слов (7 Страниц) • 484 Просмотры
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Д.09.03.04-ПОИС.18-16/556.ЛР
Кафедра искусственного интеллекта
и системного анализа
Лабораторная работа №1
по дисциплине «Анализ и проектирование программного обеспечения»
тема: «Архитектура пакетной обработки данных. Формат обмена данными JSON.»
Проверил:
__________ ст.пр. Гудаев О.А.
(дата, подпись)
Выполнил:
__________ ст.гр.ПОИС-16 Даньшина Ю.А.
(дата, подпись)
Донецк-2018
Тема: Архитектура пакетной обработки данных. Формат обмена данными JSON.
Цель: Научится проектировать однозвенную архитектуру на базе открытого формата обмена данными JSON.
Задание:
- Создать два приложения обменивающиеся данными посредством файла формата JSON-LD. Категория обмена данными соответствует схеме JSON-LD дерево и задается согласно индивидуальному варианту задания по номеру в списке журнала студентов.
- Организовать ввод первичного документа содержащего не более 5-ти полей, со свойствами типов узлов JSON-LD.
- Первичный документ сохранить в файл.
- Второе приложение осуществляет синтаксический анализ JSON-формата файла и его визуализации в диалоге окна.
- Предусмотреть сообщение об ошибке разбора JSON данных.
- Проверить на валидность JSON-LD структуру.
Индивидуальный вариант задания: Карты страны.
Ход работы
Вместо полей ввода первичного документа будет поля Автора карты, ее названия, имя юридически ответственного лица и год создания карты.
[pic 1]
Рисунок 1 - экранные формы интерфейса ввода данных генерации дата-файла
[pic 2]
Рисунок 2 – Интерфейс ввода дата-файла для его анализа
[pic 3]
Рисунок 3 - Интерфейс результата анализа дата-файла
[pic 4]
Рисунок 4 - Валидация JSON-LD файла в валидаторе
Листинг Form1(WindowsFormApp1)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void label6_Click(object sender, EventArgs e)
{
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void label1_Click(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
string json = $@"@context"":""http://schema.org"",""@type"":""Map"",""MapType"":{{ ""@type"":""MapCategoryType"",""name"":""CityMap""}}, ""author"":{{ ""@type"":""Person"",""givenName"":""{textBox1.Text}""}},""headline"":""{textBox2.Text}"",""accountablePerson"":""{textBox3.Text}"",""copyrightYear"":""{numericUpDown1.Text}""}})";
File.WriteAllText(Directory.GetCurrentDirectory() + "\\Json.jsonld", json );
}
}
}
Листинг Form1(WindowsFormApp2)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Windows.Forms;
namespace WindowsFormsApp2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
...