slogan3

Help me met het schrijven van Ruby code voor het verwerken van JSON-data

description

Met deze prompt krijg je een specifiek afgestemd Ruby script om JSON-data efficiënt en betrouwbaar te verwerken, inclusief robuuste foutafhandeling. Dit bespaart tijd en voorkomt veelvoorkomende fouten bij het manueel schrijven van code voor complexe JSON-structuren.

prompt

Help me een Ruby script te schrijven dat JSON-data verwerkt volgens de volgende specificaties: <beschrijf de JSON structuur en de gewenste bewerkingen>. Geef aan welke velden ik moe ...

try_prompt

generate_helper
disclaimerOnPageApi

ai_answers

provider: openai
model: gpt-4.1-nano
Hier is een voorbeeld van een Ruby-script dat voldoet aan jouw specificaties: ```ruby require 'json' # JSON data json_data = '{"name": "Jan", "age": 30, "email": "jan@example.com"}' begin # Parse de JSON-data data = JSON.parse(json_data) # Controleer of de vereiste velden aanwezig zijn unless data.key?('name') && data.key?('age') raise "Ontbrekend 'name' of 'age' veld in de data." end # Extrait de velden naam = data['name'] leeftijd = data['age'] # Controleer of 'age' een getal is unless leeftijd.is_a?(Numeric) raise "'age' veld is geen numeriek getal." end # Verhoog leeftijd met 5 nieuwe_leeftijd = leeftijd + 5 # Resultaat weergeven puts "Naam: #{naam}" puts "Leeftijd na verhoging: #{nieuwe_leeftijd}" rescue JSON::ParserError puts "Ongeldige JSON-data." rescue => e puts "Fout: #{e}" end ``` **Wat doet dit script?** - Het parseert de JSON-gegevens. - Controleert of de velden 'name' en 'age' aanwezig zijn. - Haalt deze velden op. - Verhoogt de leeftijd met 5. - Geeft een foutmelding als de JSON ongeldig is of als de vereiste velden ontbreken of ongepast zijn. **Aanpassingen:** - Vervang de waarde van `json_data` door jouw daadwerkelijke JSON-gegevens. - Het script is robuust en geeft duidelijke foutmeldingen bij problemen.
provider: deepseek
model: deepseek-chat
Hier is een robuust Ruby script dat aan je specificaties voldoet: ```ruby require 'json' def verwerk_gegevens(json_data) begin # Parse JSON data data = JSON.parse(json_data) # Controleer verplichte velden unless data.is_a?(Hash) raise "Ongeldige JSON-structuur: verwacht een object" end # Verplichte velden controleren unless data.key?('name') raise "Veld 'name' ontbreekt in de data" end unless data.key?('age') raise "Veld 'age' ontbreekt in de data" end # Type checks unless data['name'].is_a?(String) raise "Veld 'name' moet een string zijn" end unless data['age'].is_a?(Integer) raise "Veld 'age' moet een integer zijn" end # Gegevens extraheren en transformeren naam = data['name'] leeftijd = data['age'] + 5 # Resultaat teruggeven { naam: naam, leeftijd: leeftijd, status: 'succes' } rescue JSON::ParserError => e { status: 'fout', foutmelding: "Ongeldige JSON: #{e.message}" } rescue => e { status: 'fout', foutmelding: e.message } end end # Voorbeeld gebruik: json_input = '{"name": "Jan", "age": 30, "email": "jan@example.com"}' resultaat = verwerk_gegevens(json_input) if resultaat[:status] == 'succes' puts "Naam: #{resultaat[:naam]}" puts "Leeftijd + 5: #{resultaat[:leeftijd]}" else puts "Fout: #{resultaat[:foutmelding]}" end ``` **Velden die worden verwerkt:** - ✅ **name** - geëxtraheerd als string - ✅ **age** - geëxtraheerd en getransformeerd (+5) - ❌ **email** - niet verwerkt (niet opgegeven in requirements) **Robuuste features:** - ✅ JSON parsing foutafhandeling - ✅ Ontbrekende velden detectie - ✅ Type validatie (name moet string, age moet integer) - ✅ Duidelijke foutmeldingen - ✅ Gestructureerde error responses **Gebruik:** ```ruby # Werkt met je voorbeeld: json_input = '{"name": "Jan", "age": 30, "email": "jan@example.com"}' # Werkt ook met andere geldige input: json_input2 = '{"name": "Piet", "age": 25}' # Geeft duidelijke fouten bij problemen: json_input3 = '{"name": "Klaas"}' # age ontbreekt json_input4 = 'ongeldige json' # parse error json_input5 = '{"name": 123, "age": 30}' # name niet string ```