在本文中,我们将给您介绍关于SerialSplitter4.2串口拆分说明的详细内容,并且为您解答怎么拆开串口的相关问题,此外,我们还将为您提供关于BlockingMasterExampleQT自带的
在本文中,我们将给您介绍关于Serial Splitter 4.2 串口拆分说明的详细内容,并且为您解答怎么拆开串口的相关问题,此外,我们还将为您提供关于Blocking Master Example QT 自带 的 serial 即 串口 例子、Code-Serialization:System.Web.Serialization.JavaScriptSerializer.cs、com.afollestad.materialdialogs.simplelist.MaterialSimpleListItem的实例源码、com.alibaba.fastjson.serializer.SerializeWriter的实例源码的知识。
本文目录一览:- Serial Splitter 4.2 串口拆分说明(怎么拆开串口)
- Blocking Master Example QT 自带 的 serial 即 串口 例子
- Code-Serialization:System.Web.Serialization.JavaScriptSerializer.cs
- com.afollestad.materialdialogs.simplelist.MaterialSimpleListItem的实例源码
- com.alibaba.fastjson.serializer.SerializeWriter的实例源码
Serial Splitter 4.2 串口拆分说明(怎么拆开串口)
使用方法
有些设备和程序只能使用COM端口。如果计算机没有COM端口,或者已经被其他应用程序占用,则需要创建虚拟串行端口。在串行分配器中,我们使用虚拟串行端口驱动程序技术,它可以在系统中创建任意数量的纯虚拟串行端口。它们在系统或任何Windows应用程序中显示为“标准”串行端口。
现在,您可以根据自己的需求管理真实和虚拟端口。以下是一些如何创建端口捆绑包的示例。
分裂

在这个例子中,COM1(主端口,主端口)被分成几个虚函数:COM2(main)和COM3。实时端口(COM1)参数是动态的,取决于对端主端口(COM2)的参数。现在进入拆分实际端口(COM1)的数据将被发送到每个外部虚拟端口(COM2和COM3),反之亦然。
例如,您有一个连接到COM1的GPS传感器。它将GPS数据传送到COM2和COM3,相应地连接到需要GPS数据的两个导航程序(例如Coastal Explorer和Electronic logbook)。
将几个实际端口加入一个虚拟机

这里,几个实际端口COM1和COM2(主)连接到一个虚拟端口(COM3)中。发送到加入端口(COM3)的所有连接将被复制到所有连接端口:COM1和COM2。
例如,连接到stenograph写入机的两个串行端口(COM1和COM2)连接到PC(COM3)上的单个端口。连接到COM3的应用程序只能使用一个端口。因此,将两个端口连接到一个,您可以使应用程序同时使用两个设备。
创建端口切换器

这里,几个实际端口 - COM1,COM2 - 加入一个虚拟端口(COM3)。
几个应用程序与虚拟COM3一起工作。每当任何应用程序需要使用串行设备时,COM3的数据将被发送到COM1或COM2。港口选择将取决于目前是否免费; 这个选择将自动完成。
一些应用程序可以一次打开虚拟COM3,并连接到几个相同设备之间的空闲设备,连接到实际的COM1,COM2。可以连接到COM3的应用程序数量不能超过捆绑包中的实际端口数量。
在几个应用程序中共享一个真正的串行端口

在此示例中,实际端口(COM1)与两个应用程序共享,可以控制信号线并管理实际端口设置。
想象一下,现在您连接到COM端口(COM1)的气象站可以同时发送和接收两个程序的数据(例如,允许您将PC连接到气象站以显示数据进行分析的软件)(天气显示和虚拟气象站)。
注意:您可以与任意数量的应用程序共享实际端口,不仅仅是两个,就像在这个例子中一样。
将所有串行流量从任何实际端口重定向到另一个端口(实际或虚拟)

在此示例中,来自实际端口(COM2)的所有串行流量被重定向到虚拟的另一个端口(COM3)。实端口参数是动态的,取决于对端主端口(COM3)的参数。
这是一个理想的解决方案,可以利用任何需要特定配置设置的串行端口设备或应用程序来简化工作,例如,它可以仅与COM3一起使用,就像我们的示例一样。
在端口流量重定向的另一个例子中,我们有两个必须交换数据的设备。这就是为什么我们创建端口捆绑包,真正的COM1在侧面和真正的COM2在外面。然后我们将两个设备相应地连接到COM 1和COM2:

现在这两个设备可以交换数据。此外,您可以从COM端口收集数据,以便使用一些监控软件进行进一步分析,例如串行端口监视器。
复杂的端口捆绑

数据来自虚拟端口COM1的捆绑包,然后被分成几个流,并定向到COM3(虚拟主机)和COM4(虚拟)。反之亦然,数据来自COM3和COM4,并连接到COM1中的单个流中。
这样的复杂端口捆绑是理想的连接,例如,GPS模拟器应用程序(虚拟COM1)和两个程序(一些导航)(COM3和COM4)。因此,进入虚拟端口(COM1)的数据将被发送到每个外部虚拟端口(COM2和COM3),反之亦然。
现在我们来研究复杂的捆绑包创建的另一个例子,其中COM1是一个共享端口:

我们可以将GPS Emulator应用程序连接到虚拟COM2,并与几个应用程序共享COM1,现在可以从COM2接收数据。
适用范围
将实际端口分成几个虚拟端口
将几个串行端口加入一个虚拟机
将数据流从实际端口重定向到实际或虚拟端口
在几个应用程序之间共享一个真正的串行端口
组织多个端口的复杂捆绑包
将几个实际端口连接到一个虚拟机中进行进一步自动切换
拆分真正的串口说明
要将一个实际端口拆分为几个虚拟端口,请按照下列步骤操作:
选择真正的端口进行拆分。
通过按“添加端口”按钮将虚拟端口添加到捆绑包中。
选择要在捆绑中设置为主的虚拟端口。选择虚拟端口后,按“设置主”按钮。在这里
阅读更多关于主端口。
最后按“添加拆分端口”按钮。您的端口捆绑包将在Bundle树中自动创建。
更新说明
添加:可以将几个实际端口加入到一个虚拟机中进行进一步的自动切换。这使得应用程序可以自动访问几个相同设备之间的免费设备。
添加:设置实际和虚拟端口的权限的可能性:现在您可以允许或禁止写入和从其他方向读取。
添加了通过动态链接库(适用于OEM许可证所有者)进行捆绑管理的两个新功能:
* BundlePortSetPermissions - 设置实际或虚拟端口的权限;
* BundlePortGetPermissions - 获取实际或虚拟端口的权限。
添加:串行分配器现在通过什么应用程序进行日志记录,以及哪个参数打开虚拟端口
补充:可能会自动检查更新
改进:我们的驱动程序成功通过了Microsoft Windows硬件质量实验室(WHQL)测试,并由Microsoft现在进行数字签名
内部驱动变得更加稳定:
虚拟端口之间的数据传输得到改善。这使数据传输无损,有助于避免应用挂起;
- 改进了多核系统的数据传输。这有助于避免数据失真和挂起;
- 虚拟端口创建现在消耗较少的CPU资源,这在创建多个连接时非常有用。
改进:一些用户界面元素被调整以适当地适应高DPI
更新:不推荐通过PIPE和Windows注册表进行的服务管理; 服务只能通过动态链接库功能进行管理 - 对于OEM许可证所有者
Blocking Master Example QT 自带 的 serial 即 串口 例子
1、官方解释文档:http://doc.qt.io/qt-5/qtserialport-blockingmaster-example.html
Blocking Master shows how to create an application for a serial interface using the synchronous API of QSerialPort in a worker thread.
阻塞主程序显示了如何使用QSerialPort的同步API在同个工作线程中为串行接口创建应用程序。
QSerialPort supports two programming alternatives:
QSerialPort支持两种编程方法:
- The asynchronous (non-blocking) alternative. Operations are scheduled and performed when the control returns to the Qt event loop. TheQSerialPort class emits a signal when the operation is finished. For example, the write() method returns immediately. When the data is sent to the serial port, the QSerialPort class emits the bytesWritten() signal.
- The synchronous (blocking) alternative. In headless and multithreaded applications, the wait method can be called (in this case,waitForReadyRead()) to suspend the calling thread until the operation has completed.
- 异步(不阻塞)二者选择一种。当控制返回到Qt事件循环时,调度并执行操作。QSerialPort类在操作完成时发出一个信号。例如,write()方法立即返回。当数据被发送到串行端口时,QSerialPort类会发出bytes笔试()信号。
- 同步(阻塞)的选择。在无头的和多线程的应用程序中,可以调用wait方法(在本例中,waitForReadyRead())暂停呼叫线程,直到操作完成。
Code-Serialization:System.Web.Serialization.JavaScriptSerializer.cs
ylbtech-Code-Serialization:System.Web.Serialization.JavaScriptSerializer.cs |
using System;
using System.Collections.Generic;
using System.Web.Script.Serialization; //引用序列化类库
public partial class _Default : System.Web.UI.Page
{
/// <summary>
/// 应对 Json.NET 使用序列化和反序列化。 为启用 AJAX 的应用程序提供序列化和反序列化功能。
/// ByYlbtech
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
var RegisteredUsers = new List<Person>();
RegisteredUsers.Add(new Person() { PersonID = 1, Name = "Bryon Hetrick", Registered = true });
RegisteredUsers.Add(new Person() { PersonID = 2, Name = "Nicole Wilcox", Registered = true });
RegisteredUsers.Add(new Person() { PersonID = 3, Name = "Adrian Martinson", Registered = false });
RegisteredUsers.Add(new Person() { PersonID = 4, Name = "Nora Osborn", Registered = false });
// 1、创建JavaScriptSerializer
var serializer = new JavaScriptSerializer();
// 2、序列化
// 将对象转换为 JSON 字符串
var serializedResult = serializer.Serialize(RegisteredUsers);
// Produces string value of:
// [
// {"PersonID":1,"Name":"Bryon Hetrick","Registered":true},
// {"PersonID":2,"Name":"Nicole Wilcox","Registered":true},
// {"PersonID":3,"Name":"Adrian Martinson","Registered":false},
// {"PersonID":4,"Name":"Nora Osborn","Registered":false}
// ]
// 3、反序列化
// 将指定的 JSON 字符串转换为 T 类型的对象
var deserializedResult = serializer.Deserialize<List<Person>>(serializedResult);
// Produces List with 4 Person objects
}
/// <summary>
/// Person实体类
/// </summary>
public class Person {
/// <summary>
/// 编号【PK】
/// </summary>
public int PersonID { get; set; }
/// <summary>
/// 姓名
/// </summary>
public string Name { get; set; }
/// <summary>
/// 是否注册
/// </summary>
public bool Registered { get; set; }
}
}

出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
com.afollestad.materialdialogs.simplelist.MaterialSimpleListItem的实例源码
@Override public void onBindViewHolder(SimpleListVH holder,int position) { if (dialog != null) { final MaterialSimpleListItem item = mItems.get(position); if (item.getIcon() != null) { holder.icon.setimageDrawable(item.getIcon()); holder.icon.setPadding(item.getIconPadding(),item.getIconPadding(),item.getIconPadding()); holder.icon.getBackground().setColorFilter(item.getBackgroundColor(),PorterDuff.Mode.SRC_ATOP); } else { holder.icon.setVisibility(View.GONE); } holder.title.setTextColor(dialog.getBuilder().getItemColor()); holder.title.setText(item.getContent()); dialog.setTypeface(holder.title,dialog.getBuilder().getRegularFont()); } }
private static MaterialSimpleListItem getThemeDialogAdapterItem(@StringRes int title,@DrawableRes int icon,String currentTheme,Activity activity) { MaterialSimpleListItem.Builder builder = new MaterialSimpleListItem.Builder(activity) .content(title) .icon(icon); return builder.build(); }
@Override public void onBuildLongClicked(final BuildViewHolder buildViewHolder) { Context context = getActivity(); final MaterialSimplelistadapter adapter = new MaterialSimplelistadapter(new MaterialSimplelistadapter.Callback() { @Override public void onMaterialListItemSelected(MaterialDialog dialog,int index,MaterialSimpleListItem item) { long buildId = buildViewHolder.viewmodel.getBuildId(); switch (index) { case 0: editBuild(buildId); break; case 1: confirmDeleteBuild(buildId); break; case 2: exportBuild(buildId); break; default: Timber.e("UnkNown context menu item selected,index = " + index); break; } dialog.dismiss(); } }); adapter.add(new MaterialSimpleListItem.Builder(context) .content(R.string.menu_edit_build) .build()); adapter.add(new MaterialSimpleListItem.Builder(context) .content(R.string.menu_delete_build) .build()); adapter.add(new MaterialSimpleListItem.Builder(context) .content(R.string.menu_export_build) .build()); new MaterialDialog.Builder(context) .title(buildViewHolder.viewmodel.getName()) .adapter(adapter,null) .show(); }
@ReactMethod public void list(ReadableMap options,final Callback callback) { final MaterialSimplelistadapter simplelistadapter = new MaterialSimplelistadapter(getCurrentActivity()); ReadableArray arr = options.getArray("items"); for(int i = 0; i < arr.size(); i++){ simplelistadapter.add(new MaterialSimpleListItem.Builder(getCurrentActivity()) .content(arr.getString(i)) .build()); } final MaterialDialog.Builder adapter = new MaterialDialog.Builder(getCurrentActivity()) .title(options.hasKey("title") ? options.getString("title") : "") .adapter(simplelistadapter,new MaterialDialog.ListCallback() { @Override public void onSelection(MaterialDialog dialog,View itemView,int which,CharSequence text) { callback.invoke(which,text); if (simple != null) { simple.dismiss(); } } }) .autodismiss(true); UiThreadUtil.runOnUiThread(new Runnable() { public void run() { if (simple != null) { simple.dismiss(); } simple = adapter.build(); simple.show(); } }); }
public static MaterialDialog showProFeatures(final Context context) { final MaterialSimplelistadapter adapter = new MaterialSimplelistadapter(context); adapter.add(new MaterialSimpleListItem.Builder(context) .content(context.getResources().getString(R.string.pro_feature_1)) .icon(new IconicsDrawable(context).icon(GoogleMaterial.Icon.gmd_visibility_off).color(Color.GRAY).sizeDp(18)) .backgroundColor(Color.WHITE) .build()); adapter.add(new MaterialSimpleListItem.Builder(context) .content(context.getResources().getString(R.string.pro_feature_2)) .icon(new IconicsDrawable(context).icon(GoogleMaterial.Icon.gmd_list).color(Color.GRAY).sizeDp(18)) .backgroundColor(Color.WHITE) .build()); adapter.add(new MaterialSimpleListItem.Builder(context) .content(context.getResources().getString(R.string.pro_feature_3)) .icon(new IconicsDrawable(context).icon(GoogleMaterial.Icon.gmd_phonelink_erase).color(Color.GRAY).sizeDp(18)) .backgroundColor(Color.WHITE) .build()); adapter.add(new MaterialSimpleListItem.Builder(context) .content(context.getResources().getString(R.string.pro_feature_4)) .icon(new IconicsDrawable(context).icon(GoogleMaterial.Icon.gmd_delete).color(Color.GRAY).sizeDp(18)) .backgroundColor(Color.WHITE) .build()); MaterialDialog.Builder materialBuilder = new MaterialDialog.Builder(context) .title(context.getResources().getString(R.string.action_buy) + " (" + context.getResources().getString(R.string.action_buy_description) + ")") .icon(ContextCompat.getDrawable(context,R.mipmap.ic_launcher_pro)) .adapter(adapter,new MaterialDialog.ListCallback() { @Override public void onSelection(MaterialDialog materialDialog,View view,int i,CharSequence charSequence) {} }) .positiveText(context.getResources().getString(R.string.action_buy) + " ($1.43)") .negativeText(context.getResources().getString(R.string.button_later)) .onPositive(new MaterialDialog.SingleButtonCallback() { @Override public void onClick(@NonNull MaterialDialog dialog,@NonNull DialogAction which) { UtilsApp.goToGooglePlay(context,MLManagerApplication.getProPackage()); } }); return materialBuilder.show(); }
public void add(MaterialSimpleListItem item) { mItems.add(item); notifyItemInserted(mItems.size() - 1); }
public MaterialSimpleListItem getItem(int index) { return mItems.get(index); }
public void onClick() { TextContentView textContent = mBalloonTheme.getTextContentView(); if (textContent == null) return; // Check for links. If none,do nothing; if 1,open it; if >1,ask user to pick one final URLSpan[] spans = textContent.getUrls(); if (spans.length == 0) { // show the message details dialog MessageUtils.showMessageDetails(getContext(),mMessage,mPeer,mdisplayName); } else if (spans.length == 1) { // show link opener spans[0].onClick(textContent); } else { // complex stuff (media) URLSpanAdapterCallback click = new URLSpanAdapterCallback(textContent); final MaterialSimplelistadapter adapter = new MaterialSimplelistadapter(click); for (URLSpan span : spans) { MaterialSimpleListItem.Builder builder = new MaterialSimpleListItem.Builder(getContext()) .tag(span); try { String url = span.getURL(); Uri uri = Uri.parse(url); final String telPrefix = "tel:"; if (url.startsWith(telPrefix)) { // Todo handle country code url = url.substring(telPrefix.length()); } builder.content(url); Drawable d = getContext().getPackageManager().getActivityIcon( new Intent(Intent.ACTION_VIEW,uri)); if (d != null) { builder.icon(d).iconPadding(10); } } catch (android.content.pm.PackageManager.NameNotFoundException ex) { // it's ok if we're unable to set the drawable for this view - the user // can still use it } adapter.add(builder.build()); } new MaterialDialog.Builder(getContext()) .title(R.string.chooser_select_link) .cancelable(true) .adapter(adapter,null) .negativeText(android.R.string.cancel) .onNegative(new MaterialDialog.SingleButtonCallback() { @Override public void onClick(@NonNull MaterialDialog dialog,@NonNull DialogAction which) { dialog.dismiss(); } }) .show(); } }
@Override public void onMaterialListItemSelected(MaterialDialog dialog,MaterialSimpleListItem item) { if (item != null && item.getTag() != null) ((URLSpan) item.getTag()).onClick(mParent); dialog.dismiss(); }
void onListItemSelected(int index,MaterialSimpleListItem item,boolean longClick);
com.alibaba.fastjson.serializer.SerializeWriter的实例源码
public void test_4() throws Exception { PropertyFilter filter = new PropertyFilter() { public boolean apply(Object source,String name,Object value) { if ("name".equals(name)) { return false; } return true; } }; SerializeWriter out = new SerializeWriter(); JSONSerializer serializer = new JSONSerializer(out); serializer.getPropertyFilters().add(filter); Map<String,Object> map = new HashMap<String,Object>(); map.put("id",3); map.put("name","chennp2008"); serializer.write(map); String text = out.toString(); Assert.assertEquals("{\"id\":3}",text); }
public void test_valuefilter_1() throws Exception { ValueFilter filter = new ValueFilter() { public Object process(Object source,Object value) { if (name.equals("name")) { return "AAA"; } return value; } }; SerializeWriter out = new SerializeWriter(); JSONSerializer serializer = new JSONSerializer(out); serializer.getValueFilters().add(filter); Bean a = new Bean(); serializer.write(a); String text = out.toString(); Assert.assertEquals("{\"id\":false,\"name\":\"AAA\"}",text); }
public void test_namefilter_1() throws Exception { NameFilter filter = new NameFilter() { public String process(Object source,Object value) { if (name.equals("id")) { return "ID"; } return name; } }; SerializeWriter out = new SerializeWriter(); JSONSerializer serializer = new JSONSerializer(out); serializer.getNameFilters().add(filter); Map<String,(byte) 0); serializer.write(map); String text = out.toString(); Assert.assertEquals("{\"ID\":0}",text); }
public void test_bean_3() throws Exception { Map<String,123); PO vo = TypeUtils.castToJavaBean(map,PO.class); Assert.assertEquals(123,vo.id); SerializeWriter out = new SerializeWriter(); try { SerializeConfig config = new SerializeConfig(); JSONSerializer serializer = new JSONSerializer(out,config); config.put(PO.class,new JavaBeanSerializer(PO.class,Collections.singletonMap("id",(String) null))); serializer.write(vo); Assert.assertEquals("{}",out.toString()); } finally { out.close(); } }
public static final String toJSONString(Object object,Serializefilter[] filters,SerializerFeature... features) { SerializeWriter out = new SerializeWriter(); try { JSONSerializer serializer = new JSONSerializer(out); for (SerializerFeature feature : features) { serializer.config(feature,true); } serializer.config(SerializerFeature.WriteDateUseDateFormat,true); setFilter(serializer,filters); serializer.write(object); String serializeWriter = out.toString(); return serializeWriter; } finally { out.close(); } }
public void test_0() throws Exception { PropertyFilter filter = new PropertyFilter() { public boolean apply(Object source,Object value) { return false; } }; SerializeWriter out = new SerializeWriter(); JSONSerializer serializer = new JSONSerializer(out); serializer.getPropertyFilters().add(filter); A a = new A(); serializer.write(a); String text = out.toString(); Assert.assertEquals("{}",text); }
public void test_namefilter_1() throws Exception { NameFilter filter = new NameFilter() { public String process(Object source,Object value) { if (name.equals("id")) { Assert.assertTrue(value instanceof Short); return "ID"; } return name; } }; SerializeWriter out = new SerializeWriter(); JSONSerializer serializer = new JSONSerializer(out); serializer.getNameFilters().add(filter); Map<String,(short) 0); serializer.write(map); String text = out.toString(); Assert.assertEquals("{\"ID\":0}",text); }
public void test_1() throws Exception { PropertyFilter filter = new PropertyFilter() { public boolean apply(Object source,Object value) { if ("id".equals(name)) { Assert.assertTrue(value instanceof Short); return true; } return false; } }; SerializeWriter out = new SerializeWriter(); JSONSerializer serializer = new JSONSerializer(out); serializer.getPropertyFilters().add(filter); A a = new A(); serializer.write(a); String text = out.toString(); Assert.assertEquals("{\"id\":0}",text); }
public void test_0() throws Exception { StringWriter out = new StringWriter(); SerializeWriter writer = new SerializeWriter(out,10); Assert.assertEquals(10,writer.getBufferLength()); for (int ch = 'a'; ch <= 'z'; ++ch) { writer.write(ch); } writer.close(); String text = out.toString(); Assert.assertEquals(26,text.length()); for (int i = 0; i < 26; ++i) { Assert.assertEquals(text.charat(i),(char)('a' + i)); } }
public void test_1() throws Exception { PropertyFilter filter = new PropertyFilter() { public boolean apply(Object source,Object value) { if ("id".equals(name)) { Assert.assertTrue(value instanceof Float); return true; } return false; } }; SerializeWriter out = new SerializeWriter(); JSONSerializer serializer = new JSONSerializer(out); serializer.getPropertyFilters().add(filter); A a = new A(); serializer.write(a); String text = out.toString(); Assert.assertEquals("{\"id\":0.0}",text); }
public void test_4() throws Exception { PropertyFilter filter = new PropertyFilter() { public boolean apply(Object source,text); }
public void test_0() throws Exception { StringWriter out = new StringWriter(); SerializeWriter writer = new SerializeWriter(out,writer.getBufferLength()); for (char ch = 'a'; ch <= 'z'; ++ch) { char[] chars = new char[] { ch,ch,ch }; writer.write(chars,chars.length); } writer.close(); String text = out.toString(); Assert.assertEquals(26 * 3,text.length()); for (int i = 0; i < 26; ++i) { Assert.assertEquals(text.charat(i * 3),(char) ('a' + i)); Assert.assertEquals(text.charat(i * 3 + 1),(char) ('a' + i)); Assert.assertEquals(text.charat(i * 3 + 2),(char) ('a' + i)); } }
public void test_0() throws Exception { PropertyFilter filter = new PropertyFilter() { public boolean apply(Object source,text); }
public void test_namefilter_1() throws Exception { NameFilter filter = new NameFilter() { public String process(Object source,0); serializer.write(map); String text = out.toString(); Assert.assertEquals("{\"ID\":0}",text); }
public void test_valuefilter() throws Exception { ValueFilter filter = new ValueFilter() { public Object process(Object source,Object value) { if (name.equals("id")) { return "AAA"; } return value; } }; SerializeWriter out = new SerializeWriter(); JSONSerializer serializer = new JSONSerializer(out); serializer.getValueFilters().add(filter); A a = new A(); serializer.write(a); String text = out.toString(); Assert.assertEquals("{\"id\":\"AAA\"}",text); }
public void test_2() throws Exception { PropertyFilter filter = new PropertyFilter() { public boolean apply(Object source,Object value) { if ("name".equals(name)) { return true; } return false; } }; SerializeWriter out = new SerializeWriter(); JSONSerializer serializer = new JSONSerializer(out); serializer.getPropertyFilters().add(filter); A a = new A(); a.setName("chennp2008"); serializer.write(a); String text = out.toString(); Assert.assertEquals("{\"name\":\"chennp2008\"}",text); }
public static final byte[] toJSONBytes(Object object,SerializerFeature... features) { SerializeWriter out = new SerializeWriter(); try { JSONSerializer serializer = new JSONSerializer(out); for (com.alibaba.fastjson.serializer.SerializerFeature feature : features) { serializer.config(feature,true); } serializer.write(object); return out.toBytes("UTF-8"); } finally { out.close(); } }
public void test_0() throws Exception { PropertyFilter filter = new PropertyFilter() { public boolean apply(Object source,text); }
public static final String toJSONString(Object object,Serializefilter filter,filter); serializer.write(object); String serializeWriter = out.toString(); return serializeWriter; } finally { out.close(); } }
public void test_namefilter_1() throws Exception { NameFilter filter = new NameFilter() { public String process(Object source,true); serializer.write(map); String text = out.toString(); Assert.assertEquals("{\"ID\":true}",text); }
public void test_3() throws Exception { PropertyFilter filter = new PropertyFilter() { public boolean apply(Object source,Object value) { if ("name".equals(name)) { return true; } return false; } }; SerializeWriter out = new SerializeWriter(); JSONSerializer serializer = new JSONSerializer(out); serializer.getPropertyFilters().add(filter); Map<String,Object>(); map.put("name","chennp2008"); serializer.write(map); String text = out.toString(); Assert.assertEquals("{\"name\":\"chennp2008\"}",text); }
public void test_2() throws Exception { PropertyFilter filter = new PropertyFilter() { public boolean apply(Object source,text); }
public void test_2() throws Exception { PropertyFilter filter = new PropertyFilter() { public boolean apply(Object source,text); }
public static final String toJSONString(Object object) { SerializeWriter out = new SerializeWriter(); try { JSONSerializer serializer = new JSONSerializer(out); serializer.config(SerializerFeature.sortField,false); serializer.config(SerializerFeature.UseSingleQuotes,true); serializer.write(object); return out.toString(); } catch (StackOverflowError e) { throw new JSONException("maybe circular references",e); } finally { out.close(); } }
public void test_namefilter_1() throws Exception { NameFilter filter = new NameFilter() { public String process(Object source,text); }
public void test_valuefilter_2() throws Exception { ValueFilter filter = new ValueFilter() { public Object process(Object source,Object value) { if (name.equals("name")) { return "AAA"; } return value; } }; SerializeWriter out = new SerializeWriter(); JSONSerializer serializer = new JSONSerializer(out); serializer.getValueFilters().add(filter); Map<String,null); serializer.write(map); String text = out.toString(); Assert.assertEquals("{\"name\":\"AAA\"}",text); }
public void test_direct() throws Exception { SerializeWriter out = new SerializeWriter(6); out.config(SerializerFeature.QuoteFieldNames,true); try { JSONSerializer serializer = new JSONSerializer(out); VO vo = new VO(); vo.setValue(123456789); serializer.write(vo); Assert.assertEquals("{\"value\":123456789}",out.toString()); } finally { out.close(); } }
public void test_namefilter_1() throws Exception { NameFilter filter = new NameFilter() { public String process(Object source,text); }
public void test_valuefilter_3() throws Exception { ValueFilter filter = new ValueFilter() { public Object process(Object source,Object value) { if (name.equals("name")) { return null; } return value; } }; SerializeWriter out = new SerializeWriter(); JSONSerializer serializer = new JSONSerializer(out); serializer.getValueFilters().add(filter); Map<String,"AA"); serializer.write(map); String text = out.toString(); Assert.assertEquals("{}",text); }
public void test_namefilter() throws Exception { NameFilter filter = new NameFilter() { public String process(Object source,Object value) { if (name.equals("id")) { Assert.assertTrue(value instanceof Integer); return "ID"; } return name; } }; SerializeWriter out = new SerializeWriter(); JSONSerializer serializer = new JSONSerializer(out); serializer.getNameFilters().add(filter); Bean a = new Bean(); serializer.write(a); String text = out.toString(); Assert.assertEquals("{\"ID\":0}",text); }
public void test_valuefilter_1() throws Exception { ValueFilter filter = new ValueFilter() { public Object process(Object source,Object value) { if (name.equals("name")) { return "AAA"; } return value; } }; SerializeWriter out = new SerializeWriter(); JSONSerializer serializer = new JSONSerializer(out); serializer.getValueFilters().add(filter); A a = new A(); serializer.write(a); String text = out.toString(); Assert.assertEquals("{\"id\":0,text); }
public String encode(Object object) throws Exception { SerializeConfig config = new SerializeConfig(); SerializeWriter out = new SerializeWriter(); out.config(SerializerFeature.disableCircularReferenceDetect,true); // out.config(SerializerFeature.disableCheckSpecialChar,true); JSONSerializer serializer = new JSONSerializer(out,config); serializer.write(object); String text = out.toString(); out.close(); return text; }
public void test_6() throws Exception { SerializeWriter out = new SerializeWriter(); JSONSerializer serializer = new JSONSerializer(out); serializer.config(SerializerFeature.UseISO8601DateFormat,true); Assert.assertEquals(true,serializer.isEnabled(SerializerFeature.UseISO8601DateFormat)); serializer.write(new Date(1294502460000L)); Assert.assertEquals("\"2011-01-09T00:01:00+08:00\"",out.toString()); }
public void test_14() throws Exception { SerializeWriter out = new SerializeWriter(4); out.config(SerializerFeature.UseSingleQuotes,false); out.writeString("1\""); Assert.assertEquals("\"1\\\"\"",out.toString()); }
public String toJSONString() { SerializeWriter out = new SerializeWriter(); try { new JSONSerializer(out).write((Object) this); String serializeWriter = out.toString(); return serializeWriter; } finally { out.close(); } }
public void test_0() throws Exception { SerializeWriter writer = new SerializeWriter(); writer.append('A'); writer.writeInt(156); Assert.assertEquals("A156",writer.toString()); writer.writeLong(345); Assert.assertEquals("A156345",writer.toString()); }
public void test_date_4() throws Exception { SerializeWriter out = new SerializeWriter(); SerializeConfig config = new SerializeConfig(); JSONSerializer serializer = new JSONSerializer(out,config); SimpleDateFormat format = new SimpleDateFormat("yyyy"); format.setTimeZone(JSON.defaultTimeZone); serializer.write(new VO(format)); Assert.assertEquals("{\"format\":\"yyyy\"}",out.toString()); JSON.parSEObject(out.toString(),VO.class); }
@Override public void write(JSONSerializer serializer,Object object,Object fieldName,Type fieldType,int features) throws IOException { Model model = (Model) object; SerializeWriter out = serializer.getWriter(); out.writeFieldValue('{',"ID",model.id); out.write('}'); }
public void test_2_s() throws Exception { SerializeWriter out = new SerializeWriter(); CollectionCodec listSerializer = new CollectionCodec(); List<Object> list = new ArrayList<Object>(); list.add(1); list.add(2); listSerializer.write(new JSONSerializer(out),list,null,0); Assert.assertEquals("[1,2]",out.toString()); }
@Override public String toString(Object value,Object Meta,boolean pretty,boolean insertMeta) { return toString(value,Meta,insertMeta,(input) -> { final SerializeWriter out = new SerializeWriter((Writer) null,JSON.DEFAULT_GENERATE_FEATURE,pretty ? prettyFeatures : normalFeatures); final JSONSerializer writer = new JSONSerializer(out); if (Config.USE_TIMESTAMPS) { writer.setDateFormat(Config.TIMESTAMP_FORMATTER); } writer.write(input); final String json = out.toString(); writer.close(); return json; }); }
今天的关于Serial Splitter 4.2 串口拆分说明和怎么拆开串口的分享已经结束,谢谢您的关注,如果想了解更多关于Blocking Master Example QT 自带 的 serial 即 串口 例子、Code-Serialization:System.Web.Serialization.JavaScriptSerializer.cs、com.afollestad.materialdialogs.simplelist.MaterialSimpleListItem的实例源码、com.alibaba.fastjson.serializer.SerializeWriter的实例源码的相关知识,请在本站进行查询。
本文标签: