12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- import json
- class ObjectToJsonArrayConverter:
- @staticmethod
- def convert(obj):
- def process_value(value):
- if isinstance(value, dict):
- return ObjectToJsonArrayConverter.convert(value)
- elif not isinstance(value, list):
- return [value]
- return value
- result = []
- for key, value in obj.items():
- processed_value = process_value(value)
- result.append({
- "key": key,
- "value": processed_value
- })
- return result
- @staticmethod
- def to_json(obj, indent=None):
- converted = ObjectToJsonArrayConverter.convert(obj)
- return json.dumps(converted, indent=indent, ensure_ascii=False)
- # 使用示例
- if __name__ == "__main__":
- original_obj = {
- "name": "Test",
- "hobbies": ["Reading", "Swimming"],
- "properties": {
- "desc": "英俊潇洒",
- "nested": {
- "age": 25
- }
- }
- }
- # 转换对象
- converter = ObjectToJsonArrayConverter()
- converted_json = converter.to_json(original_obj, indent=4)
- print(converted_json)
|