def read_json(self, file_path,
                  *args, **kwargs):
        """Read a json file in and parse it into Pandas DataFrames.
        If no names is provided we use the first row for the names.
        Currently, it is not possible to skip the first n rows of a file.
        Headers are provided in the json file and not specified separately.

        Parameters
        ----------
        file_path: string
            Path to input. Any valid file path in Spark works here, eg:
            'my/path/in/local/file/system' or 'hdfs:/user/juliet/'
        Other than skipRows, all additional parameters available in
        pandas.read_csv() are usable here.

        Returns
        -------
            A SparklingPandas DataFrame that contains the data from the
        specified file.
        """
        def json_file_to_df(files):
            """ Transforms a JSON file into a list of data"""
            for _, contents in files:
                yield pandas.read_json(sio(contents), *args, **kwargs)

        return self.from_pandas_rdd(self.spark_ctx.wholeTextFiles(file_path)
                                    .mapPartitions(json_file_to_df))
Read a json file in and parse it into Pandas DataFrames.
        If no names is provided we use the first row for the names.
        Currently, it is not possible to skip the first n rows of a file.
        Headers are provided in the json file and not specified separately.

        Parameters
        ----------
        file_path: string
            Path to input. Any valid file path in Spark works here, eg:
            'my/path/in/local/file/system' or 'hdfs:/user/juliet/'
        Other than skipRows, all additional parameters available in
        pandas.read_csv() are usable here.

        Returns
        -------
            A SparklingPandas DataFrame that contains the data from the
        specified file.