Как обработать JSON с андроида в nodejs - PullRequest
0 голосов
/ 21 декабря 2018

Как обработать JSON, исходящий от андроида в nodejs

Я строю остальные API в узле, используя экспресс.Мои API используются как веб-клиентом, так и Android.От андроида данные приходят в этой форме

"{\"info\":\"abc\"}" 

, а от реакции приложения они приходят в этой форме

{ info:"abc"} 

так, каково его решение, я ищу его, но не нахожучто-нибудь.и скажите мне, как лучше обмениваться данными в остальных API.

что я пробовал.

когда я использую JSON.parse, он отлично работает с android, но с ошибкой

SyntaxError: Unexpected token o in JSON at position 1   

Если я отправляю данные из приложения реакции с помощью JSON.stringify, выдает эту ошибку

Cannot convert object to primitive value

1 Ответ

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

Вы получаете строку JSON, просто используйте JSON.parse () , например так:

const object = JSON.parse(your_JSON_string)

РЕДАКТИРОВАТЬ: так как вы изменили вопрос впоследствии, если вы

SyntaxError: неожиданный токен o в JSON в позиции 1

это (вероятно) означает, что у вас уже есть объект, не нужно вызыватьJSON.parse() на это.

Что касается ошибки, возникающей при попытке отправить данные из приложения React, вам необходимо установить заголовок content-type в запросе на правильный тип содержимого.

Мой совет - попытайтесь быстро проверить тип, прежде чем выполнять какой-либо синтаксический анализ, что-то вроде:

function getOrParseObject(your_received_object){
    if(typeof(your_received_object) === 'string') {
        // It's a string, should be parsed, so:
        return JSON.parse(your_received_object)
    } else if (typeof(your_received_object) === 'object'){
       // It's already an object, no need to parse it
       return your_received_object
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...