Loading repository data…
Loading repository data…
badursun / repository
Daha hızlı, daha akıllı, daha temiz. RabbitJSON, Classic ASP için modern, yüksek performanslı JSON parser'dır. | Faster, smarter, cleaner. RabbitJSON is the modern, high-performance JSON parser for Classic ASP.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
🚀 Faster, smarter, cleaner. RabbitJSON is a modern, high-performance JSON parser for Classic ASP — fully surpassing outdated and buggy alternatives like aspJSON.com and rcdmk/aspJSON.
Working with JSON data in Classic ASP is no longer a nightmare! Most existing solutions are either outdated or break with modern JSON structures. RabbitJSON solves all these issues:
✅ Path-based data access (user.profile.settings.theme)
✅ Load JSON directly from HTTP/HTTPS
✅ Full support for Unicode, emojis, and scientific notation
✅ Configuration system - set maxDepth, strictMode
✅ Default value support - safe data access
✅ Advanced error handling - HasError(), LastError, ClearError()
✅ Stringify & compact stringify support
✅ Comprehensive test coverage and real-time benchmarking
✅ Zero dependencies - pure Classic ASP
✅ Only 41 KB (uncompressed)
Below is a real-world performance comparison:
| Test Category | RabbitJSON | rcdmk/aspJSON | gerritvankuipers/aspjson |
|---|---|---|---|
| Local JSON Parse | ✅ ~150ms | ✅ ~200ms | ✅ ~180ms |
| HTTP JSON Loading | ✅ ~500ms | ❌ Not supported | ❌ Not supported |
| Path-based Access | ✅ a.b[0].c | ❌ Manual code | ❌ Manual code |
| Unicode Support | ✅ Full | ❌ Limited | ❌ Partial |
| Emoji Support | ✅ Excellent | ❌ None | ❌ Buggy |
| Stringify | ✅ Advanced | ✅ Basic | ✅ Basic |
| Compact Stringify | ✅ Optimized |
| ❌ None |
| ❌ None |
| Error Handling | ✅ Comprehensive | ❌ Minimal | ❌ Poor |
| Memory Management | ✅ Automatic | ❌ Manual | ❓ Unknown |
| File Size | ✅ 41 KB | ~25 KB | ~9.52 KB |
RabbitJSON comes with a transparent and robust testing system. Two main test types:
104 unique test scenarios validate all core features:
Real-time performance benchmarking with large data:
Set json = New RabbitJSON
json.Parse "{""users"": [{""name"": ""Ahmet"", ""age"": 25}, {""name"": ""Ayşe"", ""age"": 30}]}"
Response.Write json.GetValue("users.0.name") ' Output: Ahmet
Response.Write json.GetValue("users.1.name") ' Output: Ayşe
Set json = New RabbitJSON
json.Parse "https://jsonplaceholder.typicode.com/users/1"
Response.Write json.GetValue("name") ' Fetched directly from API
' These characters work flawlessly: ş, ğ, ü, ı, ö, ç, €, 😊, 🚀, 🐇
json.Parse "{\"message\":\"Hello 🐇 RabbitJSON! 😊\"}"
' Readable format
jsonString = json.Stringify(data, 2)
' Compact format (bandwidth saving)
compactJson = json.StringifyCompact(data)
Set json = New RabbitJSON
json.Config("maxDepth") = 50
json.Config("strictMode") = True
json.Parse invalidJsonString
If json.HasError() Then
Response.Write "Parse Error: " & json.LastError
json.ClearError()
End If
Set json = New RabbitJSON
json.Parse "{\"user\":{\"name\":\"Mehmet\"}}"
userName = json.GetValue("user.name", "Unknown")
userAge = json.GetValue("user.age", 0)
userPhone = json.GetValue("user.phone", "Not Provided")
Include RabbitJSON in your project:
<!--#include file="RabbitJSON.v2.asp" -->
<%
Set json = New RabbitJSON
json.Parse "{\"name\":\"Mehmet\",\"age\":30}"
Response.Write json.GetValue("name", "") ' Output: Mehmet
%>
📖 Full API Reference: api.md — All methods, parameters, and examples included.
Parse(jsonString) - Parses a JSON stringGetValue(path) - Retrieves value using a path (e.g., user.profile.name)SetValue(path, value) - Writes value to a pathStringify(object, indent) - Converts object to JSONStringifyCompact(object) - Compact JSON outputHasValue(path) - Checks path existenceRemoveValue(path) - Deletes value at pathGetKeys() - Lists root keysClear() - Clears all dataCreateRabbitJSON() - Returns a new RabbitJSON instanceQuickParse(jsonString) - Static quick parse methodQuickStringify(object, indent) - Static stringify methodConfig(key, value) - Configuration (maxDepth, strictMode)HasError() - Checks for error stateLastError - Last error message propertyClearError() - Clears error stateGetValue(path, defaultValue) - Safe value accessGetValueSimple(path) - Simple value accessVersion - Version info propertyCount - Total element count propertySet json = New RabbitJSON
json.Parse "https://api.example.com/products"
For i = 0 To json.GetValue("products").Count - 1
Response.Write json.GetValue("products." & i & ".name", "-") & "<br>"
Response.Write json.GetValue("products." & i & ".price", "0") & " TL<br>"
Next
Set json = New RabbitJSON
json.Parse Request.Form("jsonData")
userName = json.GetValue("user.profile.displayName")
userEmail = json.GetValue("user.contact.email")
Set config = New RabbitJSON
config.Parse Server.MapPath("config.json")
dbServer = config.GetValue("database.server", "localhost")
dbPort = config.GetValue("database.port", 1433)
Set json = New RabbitJSON
json.Config("maxDepth") = 20
json.Config("strictMode") = True
json.Parse userInputJson
If json.HasError() Then
Response.Write "Invalid JSON format"
json.ClearError()
Else
userName = json.GetValue("user.name", "Anonymous")
Response.Write "Hello " & userName
End If
❌ Corrupts Unicode characters ❌ Memory leaks on large files ❌ No HTTP loading support ❌ No path-based access
❌ No longer maintained (last update in 2019) ❌ Fails with modern JSON formats ❌ No emoji support ❌ Performance issues
✅ Actively developed in 2025 ✅ Full test coverage - 104 test scenarios ✅ Transparent benchmarking - real performance metrics ✅ Production-ready - used in live environments
maxDepth, strictMode)GetPerformanceStats() metricsParse(url, headers)MIT License © 2025 Anthony Burak Dursun
This software is licensed under the MIT License.
You are free to use it in commercial and personal projects.
To contribute to RabbitJSON:
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)🐇 RabbitJSON - The JSON future of Classic ASP!