Необходимо выполнить запросы LINQ для нескольких сотен файлов JSON в дочерних папках.

Недопустимая функция, связанная выше. Он не может избежать ^ или $ (начало и конец строки) или -, которые в группе символов используются для диапазонов.

Используйте эту функцию:

RegExp.escape= function(s) {
    return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
};

Хотя на первый взгляд может показаться ненужным, экранирование - (а также ^) делает функцию, подходящую для экранирования символов, вставляться в класс символов, а также тело регулярного выражения.

Escaping / делает функцию подходящей для экранирующих символов, которые будут использоваться в литеральном выражении JS для последующего eval.

Поскольку нет недостатка для экранирования любого из них, имеет смысл

И да, неутешительно, что это не является частью стандартного JavaScript.

2
задан Allan Xu 18 January 2019 в 01:48
поделиться

2 ответа

Вы должны иметь возможность передавать данные, как описано в следующих сообщениях или что-то подобное. Это должно помочь с проблемами с памятью. Как проанализировать огромный JSON-файл как поток в Json.NET?, Разбор большого json-файла в .NET

0
ответ дан verbal 18 January 2019 в 01:48
поделиться

Хорошо, noSql не будет работать для вас, но здесь я нашел другое решение, которое вы могли бы использовать.

Вставьте файлы в sql db, тогда вы сможете просто выбрать для них статистику.

Вот один из способов сделать это

-- Load file contents into a variable
SELECT @json = BulkColumn
 FROM OPENROWSET (BULK 'C:\JSON\Books\book.json', SINGLE_CLOB) as j

-- Load file contents into a table 
SELECT BulkColumn
 INTO #temp 
 FROM OPENROWSET (BULK 'C:\JSON\Books\book.json', SINGLE_CLOB) as j

И использовать Json_Value для чтения

SELECT FirstName, LastName,
JSON_VALUE(jsonInfo,'$.info.address[0].town') AS Town
FROM #temp
WHERE JSON_VALUE(jsonInfo,'$.info.address[0].state') LIKE 'US%'
ORDER BY JSON_VALUE(jsonInfo,'$.info.address[0].town')

Вот как можно импортировать файлы json

https://docs.microsoft.com/en-us/sql/relational-databases/json/import-json-documents-into-sql-server?view=sql-server-2017

А вот как сделать, где в них сидит.

https://docs.microsoft.com/en-us/sql/t-sql/functions/json-value-transact-sql?view=sql-server-2017

0
ответ дан Alen.Toma 18 January 2019 в 01:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: