在JSON响应中处理字符串或int

时间:2015-10-13 19:07:40

标签: ios json parsing nsdictionary

如果catData是从其余API调用返回的字典:

NSString* catId = catData[@"id"];

如果catData [@“id”]是一个字符串,这很好。如果它是一个int或其他东西,那就不那么重要了。

我试过了:

NSString* catId = [catData[@"id"] stringValue];

但结果如下:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSTaggedPointerString stringValue]: unrecognized selector sent to instance 0xa000030383130365'

如何正确处理任何类型的值并将其转换为我需要的字符串?

我正在使用AFNetworking和AFJSONResponseSerializer。

1 个答案:

答案 0 :(得分:5)

而不是使用

NSString* catId = catData[@"id"];

两种情况都使用

<div ng-app="tham" ng-controller="ThamController as thc">
    <div class="container">
        <table class="table table-bordered table-striped">
            <thead>
                <tr>
                    <th>Sl.No</th>
                    <th>Product</th>
                    <th>Cost</th>
                    <th>Quantity</th>
                    <th>Total</th>
                    <th>Action</th>
                </tr>
            </thead>
            <tbody>
                <tr class="items" ng-repeat="it in thc.items">
                    <td><input type="text" ng-model="it.slno"/></td>
                    <td><input type="text" ng-model="it.product"/></td>
                    <td><input type="number" ng-model="it.cost"/></td>
                    <td><input type="number" ng-model="it.quantity"/></td>
                    <td><input type="number" ng-value="it.cost * it.quantity"/></td>
                    <td><button ng-click="thc.addRow()" ng-show="$last" class="btn btn-primary">Add</button></td>
                </tr>
            </tbody>
        </table>
    </div>
</div>
发生崩溃是因为您尝试将字符串转换为字符串