赞助商
赞助入驻
jSwan

jSwanJSwan 1.2

JSON Serialization + Deserialization for Grasshopper

更新日期:2020年5月18日分类标签: 语言: 平台:

0 人已下载 手机查看

此插件为官方原版未经修改,如需了解对应#rhino插件#的原版信息,可在页面底部点击跳转官方网站进行查看下载。

哪里可以下载到rhino插件
当然是访问建筑曲奇导航的Rhino插件板块,超全rhino 插件下载请访问: rhino插件大全


 

注意:通过Food4Rhino上的“评论”请求支持可能会被忽略
请在GitHub问题页面讨论论坛(你可以提到@andheum,我会看到的)提交问题。

Grasshopper的JSON序列化 + 反序列化

详见这里:GitHub - jSwan项目页面

# jSwan

Grasshopper 3d的JSON序列化/反序列化

## 什么是jSwan?##

jSwan是一套用于轻松处理JSON格式数据的Grasshopper组件。它旨在与Grasshopper的组件逻辑和数据结构直观地工作。

### 什么是JSON?###

根据W3Schools的定义:

>JSON代表JavaScript Object Notation

>JSON是一种轻量级的数据存储和传输格式

>JSON通常用于服务器向网页发送数据时

>JSON是“自描述的”并且易于理解

这里有一个用JSON描述的示例对象:

{

"name": "John",

"age": 30,

"cars": [

{

"name": "Ford",

"models": [

"Fiesta",

"Focus",

"Mustang"

]

},

{

"name": "BMW",

"models": [

"320",

"X3",

"X5"

]

},

{

"name": "Fiat",

"models": [

"500",

"Panda"

]

}

]

}

## 如何使用jSwan?##

你可以使用`序列化JSON`组件来构建JSON对象。

这些组件与数据树直观地交互,右键选项允许你告诉组件是将数据作为单个项目/对象处理,还是作为数组处理。

反序列化JSON甚至更容易,使用`反序列化JSON`组件即可。

该组件自动为输入数据的每个唯一属性生成一个输出。每个组件实例一次反序列化一层嵌套,因此你最终得到的数据树完美反映了输入数据的结构。

## 我会用这个做什么?##

这取决于你!在Grasshopper中使用JSON格式有很多原因。以下是一些例子:

## 详细特性 ##

### 序列化JSON ###

从你输入的数据创建JSON结构。使用ZUI(可缩放UI)根据需要添加额外属性。你给每个参数的名称将是JSON属性的名称。每个输入将对应一个属性。右键单击每个输入,选择“项目访问”(将输入列表中的每个对象视为单个项目)和“列表访问”(将整个列表视为数组)。请注意,该组件的执行遵循Grasshopper的正常列表匹配行为,所以如果属性值似乎“附加”到错误的对象上,请检查你的树结构。该组件使用默认对象序列化,所以如果你传递简单的类型,如点和向量,它们将自动序列化为具有X、Y和Z属性的对象。

该组件还有一个右键菜单项“锁定结构”,它将强制组件在生成的对象中包含空值和空属性,而不是省略它们。你可以选择“锁定所有序列化组件”来锁定你定义中的所有序列化组件。

### 反序列化JSON ###

从你输入的JSON结构中提取数据。

对于JSON对象的每个顶级属性,它将生成一个输出。具有简单值的属性(数字、字符串、布尔值等)将简单地输出该值;具有对象值的属性将简单地输出JSON格式的内容,因此你可以连接另一个组件来进一步解构。数组属性将自动分解为值或对象的列表。如果最顶层的JSON对象本身是一个数组,它将生成一个名为“array”的单个输出。

输出是根据数据中的唯一属性名称自动生成的。这意味着如果输入数据发生变化,组件本身可能会通过添加/删除输出来改变“形状”。为了防止这种情况发生,右键单击“锁定”组件的结构——这将防止其结构改变,缺失的属性将以空列表或空值输出。你可以选择“锁定所有反序列化组件”来锁定你定义中的所有反序列化组件。

### 序列化键和值 ###

这个组件允许你明确地为JSON对象的键和值提供一组值列表,而不是像常规序列化组件那样编辑参数输入名称。

### 反序列化键和值 ###

这个组件让你将JSON解构为键和值的列表,而不是为每个属性生成一个单独的输出。你还可以提供一个可选的键输入,以仅从对象中选择特定的键。

相关资源

Leaf
Leaf provides a capable L-System engine for generating complex strings, and representing them visually using a 3D turtle.
LunchBox
LunchBox is a plug-in for Grasshopper for exploring machine learning, mathematical shapes, paneling, structures, and workflow.
Dhictionary
Dictionary type in Grasshopper.
Axolotl
Volumetric Modeling with signed distance functions (SDF for Grasshopper.
Weaver Ant
A robotic weaving research outcome that generates paths of loops and knots within a set of trajectorial input points.

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...
登录后可以自定义书签并同步收藏内容哦~
登录 获取素材