json_response 1.0.1 copy "json_response: ^1.0.1" to clipboard
json_response: ^1.0.1 copied to clipboard

outdated

A most easily usable JSON response wrapper library in Dart. With JsonResponse, you can easily and safely handle JSON response on your application.

A most easily usable JSON response wrapper library in Dart!

pub package codecov Analyzer Test

1. About #

JsonResponse is an open-sourced Dart library.
With JsonResponse, you can easily and safely handle JSON response on your application.

This library was created with the goal of making JSON response easier, more intuitive, and safer to use in the Dart language. For example, as a result of the communication process with the Web API, JSON is returned from the http package and you have ever written the following process when the JSON is set to Response, right?

final json = jsonDecode(response.body);
final something = json['key'] ?? '';

With JsonResponse, the above implementation is no longer necessary!

1.1. Introduction #

1.1.1. Install Library #

With Dart:

 dart pub add json_response

With Flutter:

 flutter pub add json_response

1.1.2. Import It #

import 'package:json_response/json_response.dart';

1.1.3. Use JsonResponse #

import 'dart:typed_data';
import 'package:json_response/json_response.dart';

void main() {
  // It provides constructors to get JSON from JSON string, JSON map, and JSON bytes.
  final jsonFromString = JsonResponse.fromString(value: '{"test": "something"}');
  final jsonFromMap = JsonResponse.fromMap(value: {'test': 'something'});
  final jsonFromBytes = JsonResponse.fromBytes(
      value: Uint8List.fromList('{"test": "something"}'.codeUnits));

  // You can use handful methods in the same interface once instance is created.
  print(jsonFromString.getString(key: 'test'));
  print(jsonFromMap.getString(key: 'test'));
  print(jsonFromBytes.getString(key: 'test'));

  final testJson = JsonResponse.fromMap(
    value: {
      'testValueList': ['value1', 'value2'],
      'testJsonString': '{"key1": "value2"}',
      'testJsonList': [
        {
          'key1': 'value1',
          'key2': 'value2',
        }
      ],
      'testRecursiveJsonList': [
        [
          {
            'key1': 'value1',
            'key2': 'value2',
          }
        ],
        {
          'key3': 'value3',
          'key4': 'value4',
        }
      ]
    },
  );

  if (testJson.isEmpty) {
    // Do something when json is empty.
    return;
  }

  // It provides features to safely get values from JSON.
  print(testJson.getStringValues(key: 'testValueList'));

  // You can easily get a JSON object or JSON list associated with a key.
  // If the JSON object associated with the key is a string,
  // it will be automatically detected and parsed into a JSON object.
  print(testJson.getJson(key: 'testJsonString'));
  print(testJson.getJsonList(key: 'testJsonList'));

  // If your JSON list is nested, that's okay!
  // All JSON expressions associated with a key will be returned as JSON objects.
  print(testJson.getJsonList(key: 'testRecursiveJsonList'));
}

1.2. License #

Copyright (c) 2021, Kato Shinya. All rights reserved.
Use of this source code is governed by a
BSD-style license that can be found in the LICENSE file.

1.3. More Information #

JsonResponse was designed and implemented by Kato Shinya.

4
likes
0
pub points
72%
popularity

Publisher

unverified uploader

A most easily usable JSON response wrapper library in Dart. With JsonResponse, you can easily and safely handle JSON response on your application.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

More

Packages that depend on json_response