Проблема заключается в том, что при записи в JSON вы получаете не ожидаемое значение "{"Summ":{"instanceID":52876}}", вместо цифры. Это происходит потому, что ваше поле ввода содержит не только цифру, но и элементы HTML-кода (как """), которые должны быть правильно интерпретированы при записи в JSON.
Для решения этой проблемы вам нужно предварительно обработать вводимое значение, чтобы удалить HTML-элементы и получить только непосредственно число, которое вы хотите записать в JSON.
Один из способов сделать это - использовать функцию-парсер для удаления всех HTML-элементов из вводимой строки. Вот пример кода на C#, который реализует данную функцию:
using System; using System.Text.RegularExpressions; public class Program { public static void Main() { string input = "{"Summ":{"instanceID":52876}}"; string parsedInput = RemoveHtmlTags(input); Console.WriteLine(parsedInput); // Выводится "52876" } public static string RemoveHtmlTags(string input) { return Regex.Replace(input, "<.*?>", String.Empty); } }
В этом примере используется метод Regex.Replace()
, который принимает два аргумента: входную строку и шаблон регулярного выражения для поиска и удаления HTML-элементов. Регулярное выражение "<.*?>"
означает, что мы ищем любые символы между знаками "<" и ">". Затем функция RemoveHtmlTags()
возвращает обработанную строку без HTML-элементов.
Теперь вы можете применить эту функцию к значению из вашего InputField перед записью в JSON:
string input = inputField.text; string parsedInput = RemoveHtmlTags(input); // Создание JSON-объекта и запись значения JSONObject json = new JSONObject(); json.AddField("Summ", parsedInput); // Превращение JSON-объекта в строку string jsonString = json.ToString(); // Дальнейшая обработка строки jsonString, например сохранение в файл
Теперь вы должны получить ожидаемый результат в JSON, который будет содержать только число, записанное из InputField.