123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- /*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
- #import "CDVJSON_private.h"
- #import <Foundation/NSJSONSerialization.h>
-
- @implementation NSArray (CDVJSONSerializingPrivate)
-
- - (NSString*)cdv_JSONString
- {
- @autoreleasepool {
- NSError* error = nil;
- NSData* jsonData = [NSJSONSerialization dataWithJSONObject:self
- options:0
- error:&error];
-
- if (error != nil) {
- NSLog(@"NSArray JSONString error: %@", [error localizedDescription]);
- return nil;
- } else {
- return [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
- }
- }
- }
-
- @end
-
- @implementation NSDictionary (CDVJSONSerializingPrivate)
-
- - (NSString*)cdv_JSONString
- {
- @autoreleasepool {
- NSError* error = nil;
- NSData* jsonData = [NSJSONSerialization dataWithJSONObject:self
- options:NSJSONWritingPrettyPrinted
- error:&error];
-
- if (error != nil) {
- NSLog(@"NSDictionary JSONString error: %@", [error localizedDescription]);
- return nil;
- } else {
- return [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
- }
- }
- }
-
- @end
-
- @implementation NSString (CDVJSONSerializingPrivate)
-
- - (id)cdv_JSONObject
- {
- @autoreleasepool {
- NSError* error = nil;
- id object = [NSJSONSerialization JSONObjectWithData:[self dataUsingEncoding:NSUTF8StringEncoding]
- options:NSJSONReadingMutableContainers
- error:&error];
-
- if (error != nil) {
- NSLog(@"NSString JSONObject error: %@, Malformed Data: %@", [error localizedDescription], self);
- }
-
- return object;
- }
- }
-
- - (id)cdv_JSONFragment
- {
- @autoreleasepool {
- NSError* error = nil;
- id object = [NSJSONSerialization JSONObjectWithData:[self dataUsingEncoding:NSUTF8StringEncoding]
- options:NSJSONReadingAllowFragments
- error:&error];
-
- if (error != nil) {
- NSLog(@"NSString JSONObject error: %@", [error localizedDescription]);
- }
-
- return object;
- }
- }
-
- @end
|