


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!

InPython,youappendelementstoalistusingtheappend()method.1)Useappend()forsingleelements:my_list.append(4).2)Useextend()or =formultipleelements:my_list.extend(another_list)ormy_list =[4,5,6].3)Useinsert()forspecificpositions:my_list.insert(1,5).Beaware

The methods to debug the shebang problem include: 1. Check the shebang line to make sure it is the first line of the script and there are no prefixed spaces; 2. Verify whether the interpreter path is correct; 3. Call the interpreter directly to run the script to isolate the shebang problem; 4. Use strace or trusts to track the system calls; 5. Check the impact of environment variables on shebang.

Pythonlistscanbemanipulatedusingseveralmethodstoremoveelements:1)Theremove()methodremovesthefirstoccurrenceofaspecifiedvalue.2)Thepop()methodremovesandreturnsanelementatagivenindex.3)Thedelstatementcanremoveanitemorslicebyindex.4)Listcomprehensionscr

Pythonlistscanstoreanydatatype,includingintegers,strings,floats,booleans,otherlists,anddictionaries.Thisversatilityallowsformixed-typelists,whichcanbemanagedeffectivelyusingtypechecks,typehints,andspecializedlibrarieslikenumpyforperformance.Documenti

Pythonlistssupportnumerousoperations:1)Addingelementswithappend(),extend(),andinsert().2)Removingitemsusingremove(),pop(),andclear().3)Accessingandmodifyingwithindexingandslicing.4)Searchingandsortingwithindex(),sort(),andreverse().5)Advancedoperatio

Create multi-dimensional arrays with NumPy can be achieved through the following steps: 1) Use the numpy.array() function to create an array, such as np.array([[1,2,3],[4,5,6]]) to create a 2D array; 2) Use np.zeros(), np.ones(), np.random.random() and other functions to create an array filled with specific values; 3) Understand the shape and size properties of the array to ensure that the length of the sub-array is consistent and avoid errors; 4) Use the np.reshape() function to change the shape of the array; 5) Pay attention to memory usage to ensure that the code is clear and efficient.

BroadcastinginNumPyisamethodtoperformoperationsonarraysofdifferentshapesbyautomaticallyaligningthem.Itsimplifiescode,enhancesreadability,andboostsperformance.Here'showitworks:1)Smallerarraysarepaddedwithonestomatchdimensions.2)Compatibledimensionsare

ForPythondatastorage,chooselistsforflexibilitywithmixeddatatypes,array.arrayformemory-efficienthomogeneousnumericaldata,andNumPyarraysforadvancednumericalcomputing.Listsareversatilebutlessefficientforlargenumericaldatasets;array.arrayoffersamiddlegro


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

Atom editor mac version download
The most popular open source editor

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

Zend Studio 13.0.1
Powerful PHP integrated development environment

SublimeText3 English version
Recommended: Win version, supports code prompts!

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