model {
for (i in 1:N) {
p[i] <- 1/N # set up uniform prior on 1 to N
}
for (j in 1:N){
pick[j] ~ dcat(p[]) # pick random number between 1 and N
Yboot[j] <- Y[pick[j]] # set jth bootstrap observation
}
mean <- mean(Yboot[])
# now find median of bootstrap sample: this halfway
# between observation N/2 and N/2+1...
n1 <- N/2
n2 <- n1 + 1
median <- (ranked(Yboot[], n1) + ranked(Yboot[], n2))/2
}

Data:
list(N=66, Y=c(
28, 26, 33, 24, 34, -44, 27, 16, 40, -2,
29, 22, 24, 21, 25, 30, 23, 29, 31, 19,
24, 20, 36, 32, 36, 28, 25, 21, 28, 29,
37, 25, 28, 26, 30, 32, 36, 26, 30, 22,
36, 23, 27, 27, 28, 27, 31, 27, 26, 33,
26, 32, 32, 24, 39, 28, 24, 25, 32, 25,
29, 27, 28, 29, 16, 23))

[example-9_8_1-bootstrap0][example-9_8_1-bootstrap1]
   node   mean   sd   MC error   2.5%   median   97.5%   start   sample
   median   27.31   0.6803   0.002111   26.0   27.0   28.5   1   100000
   Yboot[1]   26.19   10.68   0.03461   -2.0   27.0   39.0   1   100000