


Detailed explanation of examples of converting database data into JSON format
I am planning to build an automated operation and maintenance platform recently, so I am looking into Django knowledge.
In the actual project development, we encountered a small problem: the mainstream data interaction between the front and back ends is JSON. It is relatively simple for the front-end to transmit data to the server. What is slightly more troublesome is that the server-side transmits JSON to the front-end.
First of all, the data is obtained from the database. Django uses ORM technology by default. However, as an operation and maintenance personnel, I am actually disgusted with this kind of abstract API. Because although it abstracts the database table into an object for developers, which is convenient for development and does not require writing SQL statements, it is also the culprit of performance bottlenecks in later programs (when doing troubleshooting again, I encountered a 70 lines of SQL statements...). In addition, for an operation and maintenance personnel, pure SQL is a basic ability, and learning the syntax of ORM will increase the learning cost.
Anyway, the theme this time is to convert the data obtained from the database into JSON. I will share it below using both ORM and SQL methods.
1. Use Django Model layer and ORM technology to convert into JSON format
1 def getdata(request):2 # 使用ORM3 # all()返回的是QuerySet 数据类型;values()返回的是ValuesQuerySet 数据类型4 data = models.VM.objects.values('id', 'ip', 'host', 'username')5 data = serializers.serialize("json", tomcats)6 return JsonResponse(list(data), safe=False)
2. Completely abandon the Django Model layer and convert pure SQL into JSON format
1 def getdata(request):2 # 使用SQL3 with connection.cursor() as cursor:4 cursor.execute('select id, machine, tomcathome, ipaddress, description from tomcatData')5 data = dictfetchall(cursor)6 return JsonResponse(data, safe=False, json_dumps_params={'ensure_ascii': False})
JsonResponse object:
class <span class="highlighted">JsonResponse</span>
(data, encoder=DjangoJSONEncoder, safe=True, json_dumps_params=None,** kwargs)
This class is a subclass of HttpRespon. Its main difference from the parent class is:
1. Its default Content-Type is set to: application/json
2. The first parameter, data, should be a dictionary type. When the safe parameter is set to: False, then data can be filled in with any object that can be converted to JSON format, such as list, tuple, set. The default safe parameter is True. If the data type you pass in is not a dictionary type, then it will throw a TypeError exception.
3. The json_dumps_params parameter is a dictionary, which will call the json.dumps() method and pass the parameters in the dictionary to the method.
Through the above explanation, the parameters passed in JsonResponse() of the above two methods are very clear.
In this way, the data will be passed to the front end in JSON format, and the front end can obtain it using AJAX and process or display it.
The above is the detailed content of Detailed explanation of examples of converting database data into JSON format. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Performance optimization methods for converting PHP arrays to JSON include: using JSON extensions and the json_encode() function; adding the JSON_UNESCAPED_UNICODE option to avoid character escaping; using buffers to improve loop encoding performance; caching JSON encoding results; and considering using a third-party JSON encoding library.

MySQL5.7 and MySQL8.0 are two different MySQL database versions. There are some main differences between them: Performance improvements: MySQL8.0 has some performance improvements compared to MySQL5.7. These include better query optimizers, more efficient query execution plan generation, better indexing algorithms and parallel queries, etc. These improvements can improve query performance and overall system performance. JSON support: MySQL 8.0 introduces native support for JSON data type, including storage, query and indexing of JSON data. This makes processing and manipulating JSON data in MySQL more convenient and efficient. Transaction features: MySQL8.0 introduces some new transaction features, such as atomic

Annotations in the Jackson library control JSON serialization and deserialization: Serialization: @JsonIgnore: Ignore the property @JsonProperty: Specify the name @JsonGetter: Use the get method @JsonSetter: Use the set method Deserialization: @JsonIgnoreProperties: Ignore the property @ JsonProperty: Specify name @JsonCreator: Use constructor @JsonDeserialize: Custom logic

Quick Start: Pandas method of reading JSON files, specific code examples are required Introduction: In the field of data analysis and data science, Pandas is one of the important Python libraries. It provides rich functions and flexible data structures, and can easily process and analyze various data. In practical applications, we often encounter situations where we need to read JSON files. This article will introduce how to use Pandas to read JSON files, and attach specific code examples. 1. Installation of Pandas

JavaScript tutorial: How to get HTTP status code, specific code examples are required. Preface: In web development, data interaction with the server is often involved. When communicating with the server, we often need to obtain the returned HTTP status code to determine whether the operation is successful, and perform corresponding processing based on different status codes. This article will teach you how to use JavaScript to obtain HTTP status codes and provide some practical code examples. Using XMLHttpRequest

In-depth understanding of PHP: Implementation method of converting JSONUnicode to Chinese During development, we often encounter situations where we need to process JSON data, and Unicode encoding in JSON will cause us some problems in some scenarios, especially when Unicode needs to be converted When encoding is converted to Chinese characters. In PHP, there are some methods that can help us achieve this conversion process. A common method will be introduced below and specific code examples will be provided. First, let us first understand the Un in JSON

Introduction to the method of obtaining HTTP status code in JavaScript: In front-end development, we often need to deal with the interaction with the back-end interface, and HTTP status code is a very important part of it. Understanding and obtaining HTTP status codes helps us better handle the data returned by the interface. This article will introduce how to use JavaScript to obtain HTTP status codes and provide specific code examples. 1. What is HTTP status code? HTTP status code means that when the browser initiates a request to the server, the service

PHP arrays can be converted to JSON strings through the json_encode() function (for example: $json=json_encode($array);), and conversely, the json_decode() function can be used to convert from JSON to arrays ($array=json_decode($json);) . Other tips include avoiding deep conversions, specifying custom options, and using third-party libraries.
