|  | @@ -977,8 +977,19 @@ class Archiver:
 | 
	
		
			
				|  |  |              format = "{archive:<36} {time} [{id}]{NL}"
 | 
	
		
			
				|  |  |          formatter = ArchiveFormatter(format)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        output_data = []
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          for archive_info in manifest.archives.list_considering(args):
 | 
	
		
			
				|  |  | -            write(safe_encode(formatter.format_item(archive_info)))
 | 
	
		
			
				|  |  | +            if args.json:
 | 
	
		
			
				|  |  | +                output_data.append(formatter.get_item_data(archive_info))
 | 
	
		
			
				|  |  | +            else:
 | 
	
		
			
				|  |  | +                write(safe_encode(formatter.format_item(archive_info)))
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        if args.json:
 | 
	
		
			
				|  |  | +            print_as_json({
 | 
	
		
			
				|  |  | +                'repository': manifest.repository,
 | 
	
		
			
				|  |  | +                'archives': output_data,
 | 
	
		
			
				|  |  | +            })
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          return self.exit_code
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -2492,6 +2503,8 @@ class Archiver:
 | 
	
		
			
				|  |  |          subparser.add_argument('--format', '--list-format', dest='format', type=str,
 | 
	
		
			
				|  |  |                                 help="""specify format for file listing
 | 
	
		
			
				|  |  |                                  (default: "{mode} {user:6} {group:6} {size:8d} {isomtime} {path}{extra}{NL}")""")
 | 
	
		
			
				|  |  | +        subparser.add_argument('--json', action='store_true',
 | 
	
		
			
				|  |  | +                               help='format output as JSON')
 | 
	
		
			
				|  |  |          subparser.add_argument('location', metavar='REPOSITORY_OR_ARCHIVE', nargs='?', default='',
 | 
	
		
			
				|  |  |                                 type=location_validator(),
 | 
	
		
			
				|  |  |                                 help='repository/archive to list contents of')
 |