JSON: Difference between revisions

1,855 bytes added ,  9 years ago
Line 1,023:
"ocean":{"water":["cold","blue"]}}
</pre>
 
=={{header|Fortran}}==
Using [https://github.com/jacobwilliams/json-fortran json-fortran] library. Creating the json example file / reading a JSON string.
<pre>
{
"PhoneBook": [
{
"name": "Adam",
"phone": "0000001"
},
{
"name": "Eve",
"phone": "0000002"
},
{
"name": "Julia",
"phone": "6666666"
}
]
}
</pre>
 
<lang fortran>
program json_fortran
use json_module
implicit none
 
type phonebook_type
character(len=:),allocatable :: name
character(len=:),allocatable :: phone
end type phonebook_type
 
type(phonebook_type), dimension(3) :: PhoneBook
integer :: i
type(json_value),pointer :: json_phonebook,p,e
type(json_file) :: json
 
PhoneBook(1) % name = 'Adam'
PhoneBook(2) % name = 'Eve'
PhoneBook(3) % name = 'Julia'
PhoneBook(1) % phone = '0000001'
PhoneBook(2) % phone = '0000002'
PhoneBook(3) % phone = '6666666'
 
call json_initialize()
 
!create the root structure:
call json_create_object(json_phonebook,'')
 
!create and populate the phonebook array:
call json_create_array(p,'PhoneBook')
do i=1,3
call json_create_object(e,'')
call json_add(e,'name',PhoneBook(i)%name)
call json_add(e,'phone',PhoneBook(i)%phone)
call json_add(p,e) !add this element to array
nullify(e) !cleanup for next loop
end do
call json_add(json_phonebook,p) !add p to json_phonebook
nullify(p) !no longer need this
 
!write it to a file:
call json_print(json_phonebook,'phonebook.json')
 
! read directly from a character string
call json%load_from_string('{ "PhoneBook": [ { "name": "Adam", "phone": "0000001" },&
{ "name": "Eve", "phone": "0000002" }, { "name": "Julia", "phone": "6666666" } ]}')
! print it to the console
call json%print_file()
 
end program json_fortran
</lang>
 
=={{header|FunL}}==
Anonymous user