sql >> Database >  >> RDS >> PostgreSQL

IPAddr-instantie ophalen uit de json-representatie

Ik weet niet zeker of dit helpt, maar als je mijn opmerking onder het antwoord van d_ethier leest, kun je zien dat IPAddr weet eigenlijk niets over JSON.

Je kunt het echter patchen om JSON als volgt te begrijpen:

require 'active_model'
require 'active_support'
require 'active_support/core_ext'
require 'ipaddr'

class IPAddr
  include ActiveModel::Serializers::JSON

  attr_accessor :addr, :mask_addr, :family

  def attributes=(hash)
    hash.each do |key, value|
      send("#{key}=", value)
    end
  end

  def attributes
    instance_values
  end
end   

p i = IPAddr.new('127.0.0.1')
p j = i.to_json
p IPAddr.new.from_json(j)

Uitgang:

#<IPAddr: IPv4:127.0.0.1/255.255.255.255>
"{\"family\":2,\"addr\":2130706433,\"mask_addr\":4294967295}"
#<IPAddr: IPv4:127.0.0.1/255.255.255.255>

Bron:
http://apidock.com/rails/ActiveModel/Serializers /JSON/from_json



  1. Enterprise Architect - Microsoft OLE DB-provider voor ODBC-stuurprogramma's -2147217900 / '80040E14'

  2. Oracle Random Number Generator opgeslagen procedure zonder gebruik te maken van DBMS_RANDOM

  3. Indien voorwaardelijk in SQL Script voor Mysql

  4. Controleer of het veld bestaat in de kolom van het json-type PostgreSQL