菜鸟教程小白 发表于 2022-12-12 12:11:50

ios - NSJSONSerialization - 核心数据与 JSON 的关系


                                            <p><p>我一直在尝试创建一个类以允许我将核心数据输出到 JSON。</p>

<p>我已经设法让它工作到一定程度,但是我似乎在输出关系上遇到了障碍</p>

<pre><code>NSMutableArray * objectsArray = [ init];

for (NSManagedObject * object in array) {
    if() {
      ;
    } else {

    NSMutableDictionary *fields = ;
    for (NSAttributeDescription *attribute in [ properties]) {
      NSString *attributeName = attribute.name;
      id attributeValue = ;

      if( &gt; 0)
      {
            NSArray *chunks2 = ;
            for (NSString * string in chunks2) {
                if()
                {
                   forKey:attributeName];
                  break;
                }
            }
      }
      else
      {
            if (attributeValue) {
                forKey:attributeName];
            }
      }
    }
    ;
    }
}

NSError *error;
NSData * JSONData = ;
</code></pre>

<p>只要我没有关系,这输出数据就很好,例如一个 -> 很多或很多 -> 一个</p>

<p>输出如下</p>

<pre><code>{
&#34;mySegmentation&#34;: &#34;(null)&#34;,
&#34;number&#34;: &#34;9452062&#34;
},
{
&#34;mySegmentation&#34;: &#34;&lt;NSManagedObject: 0x212050b0&gt; (entity: SegmentationCodes; id: 0x212090b0 &lt;x-coredata://BEC52F5F-EA26-4CFF-BCCB-09DA163F465D/SegmentationCodes/p13&gt; ; data: &lt;fault&gt;)&#34;,
&#34;number&#34;: &#34;9448502&#34;
},
</code></pre>

<p>我怎样才能让它也缩进并输出关系中的信息?</p>

<p>我一直在为此摸不着头脑,希望能得到帮助</p>

<p>谢谢马特</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>来自文档:</p>

<p>可以转换为 JSON 的对象必须具有以下属性:</p>

<ul>
<li>顶级对象是 NSArray 或 NSDictionary。</li>
<li>所有对象都是 NSString、NSNumber、NSArray、
NSDictionary 或 NSNull。</li>
<li>所有字典键都是 NSString 的实例。</li>
<li>数字不是 NaN 或无穷大。</li>
</ul>

<p>所以,你要做的就是用字典、数组、字符串、数字、空值组成一个字典或数组。</p>

<p>CoreData 中的关系通常是不排序的,所以 NSSets,你必须从集合中生成一个 NSArray(因此存在 Apple 的一个很好的方法)并将其作为特定键的值放入字典中。 </p>

<p>然后运行 ​​<code>- dataWithJSONObject:options:error:</code> 例如(如您之前所做的)并检索正确的 JSON。</p>

<p>不确定缩进是否正确。你必须检查一下。</p>

<p>希望如此</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - NSJSONSerialization - 核心数据与 JSON 的关系,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/17492514/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/17492514/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - NSJSONSerialization - 核心数据与 JSON 的关系