Ich versuche null
Wert in JSON in Postgresql zu speichern. Wenn ich den folgenden Code verwenden:Speichern von JSON von API mit Nullwerten
resume = Resume.create!({
parsedres: {"Resume":{"xml:lang":"en","xmlns":"http://ns.hrxml.org/2006-02-28","xmlns:vos":"http://noresm.com/hr-xml/2006-02-28","ResumeId":{"IdValue":null}}}
})
Ich erhalte eine Fehlermeldung:
NameError: undefined local variable or method `null' for main:Object
Das Problem ist, ich API-Daten ohne "" für null erhalten und wenn ich JSON.parse
resume.parsedres = JSON.parse(response.body)
resume.save
Es wirft die
JSON::ParserError: 765: unexpected token at '<ParseResumeResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Code>Ack</Code><SubCode>Authentication/SubCode><Message>AccountID.</Message><CreditsRemaining>100</CreditsRemaining></ParseResumeResponse>'
Warum interpretiert JSON.parse nicht null
?
Der JSON-Parser-Fehler sieht aus, als ob Sie versuchen, eine XML-Antwort zu parsen. Ich würde versuchen, den Antwortkörper zu überprüfen, ob es tatsächlich JSON ist (vielleicht müssen Sie einen Header in die Anfrage einfügen, um JSON-Inhalt zurückzubekommen). –
Danke, ich habe JSON in meinem API-Aufruf angefordert. resume = Resume.new Antwort = RestClient :: Request.execute ( Methode:: Beitrag, URL: 'http: // API-Beispiel', Nutzlast: Parameter, ** Header: {"Content-Type" = > "application/json"} ** ) – cruisertom
Sie könnten auch 'Accept' => 'application/json' in die Header einfügen. Wenn das nicht funktioniert, unterstützt die API möglicherweise nicht JSON, sondern nur XML. –