我正在尝试从<div>
<h3><?php _e( '2018', 'template' ); ?></h3>
<ul>
<?php
$archive_posts = get_posts( array(
'post_status'=> 'publish',
'year' => '2018',
) );
foreach ( $archive_posts as $archive_post ) :
$post_link = get_post_meta( $archive_post->ID, 'news_link', true);
$post_title = get_post_meta( $archive_post->ID, 'title', true);
$post_author = get_post_meta( $archive_post->ID, 'authors', true);
$post_publisher = get_post_meta( $archive_post->ID, 'publisher', true);
$post_date = get_post_meta( $archive_post->ID, 'date', true);
$new_date = date("m/d/Y", strtotime($post_date));
?>
<li>
<strong><a href="<?php echo $post_link ?>"> <?php echo $post_title ?> </a></strong> - <?php echo "$post_author ," ?> <?php echo $post_publisher ?> ( <?php echo $new_date ?>)
</li>
<?php endforeach; ?>
反序列化一个简单的JSON
对象。
由于数据代表用户的引号,因此该API以转义的引号返回API
。
JSON
但是抛出:
FormatException:意外字符(在字符13处)
test("escaped quoted json test", () { var s = '''{"quote": "\"a quote from a user\""}'''; var b = json.decode(s); expect(b["quote"], "\"a quote from a user\""); });
该JSON有效:
{"quote": ""a quote from a user""}
我如何告诉{"quote": "\"a quote from a user\""}
正确处理此问题?
谢谢。
答案 0 :(得分:1)
内部引号需要使用文字反斜杠而不是转义的反斜杠转义
var s = '''{"quote": "\\"a quote from a user\\""}''';
或
var s = r'''{"quote": "\"a quote from a user\""}''';
用Dart源代码编写的JSON与通过网络接收的JSON之间是有区别的。
如果将其放在问题中的源代码中,则会解释该字符串。您可以修改字符串(将所有\
都加倍),也可以在原始字符串前加上r
作为前缀。