ConvertFrom-Json жалуется на неопределенную строку - PullRequest
0 голосов
/ 17 декабря 2018

У меня есть скрипт PowerShell, который извлекает данные из DLL.DLL возвращает первые 3000 символов JSON.В большинстве случаев это нормально, потому что полный JSON меньше 3000 символов.Однако, если строка возвращает более длинный json, я получаю только первые 3000 символов.

Если у меня есть json, который доходит до предела, и я запускаю:

$myString = $returnedArray[$currentrow] | ConvertFrom-Json

Я получаю:

ConvertFrom-Json: передана неопределенная строка. (3000):

Надлежащим исправлением будет устранение источника, усекающего JSON.Тем не менее, у меня нет доступа к этому исходному коду (принадлежит сторонней компании).

Теперь, когда у меня есть вывод, это вопрос простого добавления ограничителя строки?Или мне нужно самому проанализировать JSON, выяснить, что ему нужно, чтобы правильно завершить текущее поле, и добавить его?

Я пытался различными способами завершить строку JSON, но ни одна из них не сработала.На данный момент мой скрипт PowerShell просто пропускает любую строку, которая не соответствует строке ConvertFrom-Json.

1 Ответ

0 голосов
/ 17 декабря 2018

Вам нужно будет самостоятельно проанализировать строку JSON и отследить любые строки или вложенные значения, чтобы вы могли правильно завершить их, как только перестанете получать значения.

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

{
    "glossary": {
        "title": "example glossary",
        "GlossDiv": {
            "title": "S",
            "GlossList": {
                "GlossEntry": {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...